Bar (Revamped)

By LadySorien on Oct 17, 2010

Just what the title says, I've put in none alcoholic drinks as well, so it serves a larger variety. And thanks to gooshie who kindly gave me the updated version idea. I'll be adding more drinks in the future so check back often.

on $*:text:/!\bopen\b/iS:#:{
  if !$nick(#,$nick,vr) && $group(#bar) = off {
    .enable #bar
    msg # The bar is now open for business!
  }
}
on $*:text:/!(\S+)|(close)/S:#:{
  if !%t { 
    inc -u4 %t
    if $regml(1) = close && !$nick(#,$nick,vr) && $group(#bar) = on {
      .disable #bar
      msg # The bar has been closed for the day!
    }
    else { $bartender($regml(1)) }
  }
}
#bar off
alias -l bartender {
  var %c msg # Please choose between:,%d describe #
  goto $1
  :bar | return %c !wine, !vodka, !beer, !whiskey, !rum, !cocktails, !sodas, !smoothies, !milk, !water, !coffee, !tea, !vampire or !juices
  :beer | return %c !Guiness, !StPauliGirl, !KilliansIrishRed, !Heineken, !DoEquis, !Miller, !MillerLite, !MillerGenuineDraft, !RollingRock, !Yuenling, !Molson, !Corona, !Coors, !CoorsLite, !Fosters, !AllagashWhite !Budweiser, or !BudLight
  :wine | return %c !CabernetSavignon, !Champagne, !SparklingWine, !SparklingCider, !Riesling, !Chardonnay, !Sauvignon, !PinotNoir, !Merlot, !Shiraz, !Syrah, or !Zinfandel
  :whiskey | return %c !Charbay, !McCarthys, !Notch, !OldPotrero, !PeregrineRock, !StGeorge, !Stranahans, !TempleRye, !JD (JackDaniels), !Wasmuds, or !WoodstoneCreek
  :Fanta | return %c !FantaStrawberry, !FantaOrange, !FantaOrangeZero, !FantaGrape, !FantaPeach, !FantaGrapefruit, !FantaApple, or !FantaPineapple
  :Margarita | return %c !ClassicMargarita, !CatalinaMargarita, !FrozenMargarita, !GreenIguanaMargarita, !MidoriMargarita, !PeachtreeMargarita, !PricklyPearMargarita, !RosasPomegranateMargarita, !StrawberryMargarita, or !TurquoiseMargarita
  :Daiquiri | return %c !ClassicDaiquiri, !StrawberryDaiquiri,!BananaDaquiri, !BlueberryDaquiri, !ChocolateCoveredStrawberryDaquiri, !DauqiriBlossom, !ChambordDaquiri, or !FlordiaDaquiri
  :Smoothies | return %c !StrawberryBananaSmoothie, !BlueberryBananaSmoothie, !RasperberryBananaSmoothie, !PeachMangoSmoothie, or !MangoSmoothie, !
  :cocktails | return %c !ArnoldPalmer, !Martini, !RumandCoke !Margarita, !WhiteRussian, !BlackRussian, !MidoriLimedrop, !BubbleGumKamikaze, !ElectricScrewdriver, !SourApplePussycat, !VanillaMudslide,  !HarveyWallBanger, !BlueValium, !PeachZimaSprite, !FrothyLemonade, !JagerBomb, !Daiquiri, !Mudslide, !SexontheBeach, !CordialDaisy, !BlueberryTequilaSour, !PearSourball, or !LongIslandIcedTea
  :Martini | return %c !BlueMartini, !SourAppleMartini, !VegasLemonDrop, !CosmopolitanMartini, !RedAppleMartini, !PurpleHooterMartini, !AstroPop, !SurferMartini, !CaramelAppleMartini, !MidnightExpresso, !AlmondJoyMartini, !GodivaMartini, !MintMartini, !SmokyMartini, !VesperMartini, or !LavaLampMartini
  :rum | return %c !Bacardi, !CaptainMorgan, !MGL (Mount Gay Light), !MGD (Mount Gay Dark) or !Malibu
  :vodka | return %c !Absolute, !Belvedere, !GreyGoose, !Imperia, !Seagrams, !Skyy, or !Smirnoff
  :vampire | return %c !bloodwyne !bloodcoffee, !bloodtea or !blood
  :sodas | return %c !CocaCola, !Pepsi, !Fanta, !MoutainDew, !DrPepper, or !RootBeer
  :CocaCola | return %c !Coke, !NewCoke, !CaffineFreeCoke, !CokeCherry, !CokeLime, !CokeVanilla, !CokeCitra, !CokeBlackCherryVanilla, !CokeBlak, !CokeLemon, !CokeRaspberry, !DietCoke, !CokeC2, !CokeZero, !CokeLightSango, !DietCokePlus, !CokeOrange, !DietCokeBlackCherryVanilla, DietCokeCitra, or !DietCokeVanilla
  :Pepsi | return %c !NormalPepsi, !CrystalPepsi, !PepsiBlue, !Pepselseifree, !PepsiTwist, !PepsiNatural, !PepsiWildCherry, !PepsiVanilla, !DietPepsi, !JazzDietPepsi, !PepsiMax, !PepsiOne, !PepsiKaffe, or !PepsiKona
  :MountainDew | return %c !MtnDew, !DietMtnDew, !Caffeine-FreeMtnDew, !Caffeine-FreeDietMtnDew, !MtnDewCodeRed, !DietMtnDewCodeRed, !MtnDewLiveWire, !MtnDewBajaBlast, !MtnDewMDX, !DewIced, !MtnDewVoltage, !MtnDewThinIceFreeze, !MtnDewThrowback, !MtnDewCherryFusion, !MtnDewDistortion, !MountainDewWhiteOut, or !MountainDewTyphoon
  :juices | return %c !Lemonade, !Limeade, !AppleJuice, !OrangeJuice, !StrawberryKiwiwJuice, !MangoJuice, !PineappleJuice, !StrawberryJuice, !TangerineJuice, !PomegranateJuice, !CranberryJuice, or !GrapeJuice
  :Lemonade | return %c !NormalLemonade, !StrawberyLemonade, !KiwiLemonade, !MandarinLemonade, !BlackCherryLemonade, !MangoLemonade, !PineapplePassionLemonade, or !RaspberryPinkLemonade
  :Limeade | return %c !NormalLimeade, !MintLimeade, !CherryLimeade, or !BlackberryLimeade
  :DrPepper | return %c !NormalDrPepper, !DietDrPepper, !DrPepperCherry, !DietDrPepperCherry, !Caffine-FreeDrPepper, !Caffine-FreeDietDrPepper, !CherryVanillaDrPepper, or !CherryVanillaDietDrPepper
  :RootBeer | return %c !AWRootBeer, !BarqsRootBeer, !IBCRootBeer, !MugRootBeer, !StewartsRootBeer, or !VirgilsRootBeer
  :coors | return %d gives $nick a bottle of Coors
  :VanillaMudslide | return %d fixes $nick  frozen Vanilla Mudslide high on alcohol
  :HarveyWallBanger | return %d fixes $nick a harvey wallbanger 1/3 vodka 1/3 galliano and one 1/3 orange  
  :ArnoldPalmer | return %d serves $nick an Arnold Palmer
  :BlueMartini | return %d fixes $nick a Blue Martini
  :SourAppleMartini | return %d fixes $nick a Sour Apple Martini
  :VegasLemonDrop | return %d fixes $nick a Vegas Lemon Drop
  :CosmopolitanMartini | return %d fixes $nick a Cosmopolitan Martini
  :RedAppleMartini | return %d fixes $nick a Red Apple Martini
  :PurpleHooterMartini | return %d fixes $nick a Purple Hooter Martini
  :AstroPop | return %d fixes $nick a Astro Pop
  :SurferMartini | return %d fixes $nick a Surfer Martini
  :CaramelAppleMartini | return %d fixes $nick a Caramel Apple Martini
  :MidnightExpresso | return %d fixes $nick a Midnight Expresso
  :AlmondJoyMartini | return %d fixes $nick a Almond Joy Martini
  :GodivaMartini | return %d fixes $nick a Godiva Martini
  :MintMartini | return %d fixes $nick a Mint Martini
  :LavaLampMartini | return %d fixes $nick a Lava Lamp Martini
  :SmokyMartini | return %d fixes $nick a Smoky Martini
  :VesperMartini | return %d fixes $nick a Vesper Martini
  :RumandCoke | return %d fixes $nick a Rum & Coke
  :JD | return %d fixes $nick a Jack Daniels on the rocks
  :MGL | return %d fixes $nick a shot of Mount Gay Light rum
  :MGD | return %d fixes $nick a shot of Mount Gay Dark rum
  :ClassicMargarita | return %d fixes $nick a Classic Margarita
  :CatalinaMargarita | return %d fixes $nick a Catalina Margarita
  :FrozenMargarita | return %d fixes $nick a Frozen Margarita
  :GreenIguanaMargarita | return %d fixes $nick a Green Iguana Margarita
  :MidoriMargarita | return %d fixes $nick a Midori Margarita
  :PeachtreeMargarita | return %d fixes $nick a Peachtree Margarita
  :PricklyPearMargarita | return %d fixes $nick a Prickly Pear Margarita
  :RosasPomegranateMargarita | return %d fixes $nick a Rosa's Pomegranate Margarita
  :StrawberryMargarita | return %d fixes $nick a Strawberry Margarita
  :TurquoiseMargarita | return %d fixes $nick a Turquoise Margarita
  :WhiteRussian | return %d fixes $nick a White Russian
  :BlackRussian | return %d fixes $nick a Black Russian
  :MidoriLimedrop | return %d fixes $nick a Midori Limedrop
  :BubbleGumKamikaze | return %d fixes $nick a Bubble Gum Kamikaze
  :ElectricScrewdriver | return %d fixes $nick an Electric Screwdriver
  :SourApplePussycat | return %d fixes $nick a Sour Apple Pussycat
  :BlueValium | return %d fixes $nick a Blue Valium
  :PeachZimaSprite | return %d fixes $nick a Peach Zima Sprite
  :FrothyLemonade | return %d fixes $nick a Frothy Lemonade
  :JagerBomb | return %d fixes $nick a Jager Bomb
  :ClassicDaiquiri | return %d fixes $nick a Classic Daiquiri
  :StrawberryDaiquri | return %d fixes $nick a Strawberry Daiquiri
  :BananaDaiquri | return %d fixes $nick a Banana Daiquiri
  :BlueberryDaiquri | return %d fixes $nick a Blueberry Daiquiri
  :ChocolateCoveredStrawberryDaiquri | return %d fixes $nick a Chocolate Covered Strawberry Daiquiri
  :FloridaDaiquri | return %d fixes $nick a Florida Daiquiri
  :ChambordDaiquri | return %d fixes $nick a Chambord Daiquiri
  :DaiquriBlossom | return %d fixes $nick a Daiquiri Blossom
  :Mudslide | return %d fixes $nick a Mudslide
  :SexontheBeach | return %d fixes $nick a Sex on the Beach
  :CordialDaisy | return %d fixes $nick a Cordial Daisy
  :BlueberryTequilaSour | return %d fixes $nick a Blueberry Tequila Sour
  :PearSourball | return %d fixes $nick a Pear Sourball
  :LongIslandIcedTea | return %d fixes $nick a Long Island Iced Tea
  :Guiness | return %d gives $nick a bottle of Guiness
  :StPauliGirl | return %d gives $nick a bottle of St. Paul Girl
  :KilliansIrishRed | return %d gives $nick a bottle of Killan's Irish Red
  :Heineken | return %d gives $nick a bottle of Heineken
  :DosEquis | return %d gives $nick a bottle of Dos Equis
  :Miller | return %d gives $nick a bottle of Miller
  :Fosters | return %d gives $nick a 750ml can of Fosters
  :MillerLite | return %d gives $nick a bottle of Miller Lite
  :MillerGenuieD | return %d gives $nick a bottle of Miller Genuine Draft
  :RollingRock | return %d gives $nick a bottle of Rolling Rock
  :Yuenling | return %d gives $nick a bottle of Yuenling
  :Molson | return %d gives $nick a bottle of Molson
  :Corona | return %d gives $nick a bottle of Corona
  :CoorsLite | return %d gives $nick a bottle of Coors Lite
  :Budweiser | return %d gives $nick a bottle of Budweiser
  :BudLight | return %d gives $nick a bottle of Budlite
  :AllagashWhite | return %d gives $nick a bottle of Allagash White
  :CabernetSavignon | return %d gives $nick a glass of Cabernet Savignon
  :SparklingWine | return %d gives $nick a glass of Sparkling Wine
  :SparklingCider | return %d gives $nick a glass of Sparkling Cider
  :Riesling | return %d gives $nick a glass of Riesling
  :Chardonnay | return %d gives $Nick a glass of Chardonnay
  :Champagne | return %d pops the cork and gives $nick a glass of champagne
  :Sauvignon | return %d gives $nick a glass of Sauvignon
  :PinotNoir | return %d gives $nick a glass of Pinot Noir
  :Merlot | return %d gives $nick a glass of Merlot
  :Shiraz | return %d gives $nick a glass of Shiraz
  :Syrah | return %d gives $Nick a glass of Syrah
  :Zinfandel | return %d gives $nick a glass of Zinafandel
  :Charbay | return %d gives $nick a bottle of Charbay
  :McCarthys | return %d gives $nick a bottle of McCarthy's
  :Notch | return %d gives $nick a bottle of Notch
  :OldPotrero | return %d gives $nick a bottle of Old Potrero
  :PeregrineRock | return %d gives $nick a bottle of Peregrine Rock
  :StGeorge | return %d gives $nick a bottle of St. George
  :Stranahans | return %d gives $nick a bottle of Stranahan's
  :TempleRye | return %d gives $nick a bottle of Templeton Rye
  :Wasmuds | return %d gives $nick a bottle of Wasmud's
  :WoodstoneCreek | return %d gives $nick a bottle of Woodstone Creek
  :Absolut | return %d gives $nick a bottle of Absolut
  :Belvedere | return %d gives $nick a bottle of Belvedere
  :GreyG | return %d gives $nick a bottle of Grey Goose
  :Imperia | return %d gives $nick a bottle of Imperia
  :Seagrams | return %d gives $nick a bottle of Seagram's
  :Skyy | return %d gives $nick a bottle of Skyy
  :Smirnoff | return %d gives $nick a bottle of Smirnoff
  :Bacardi | return %d gives $nick a bottle of Bacardi
  :CaptainMorgan | return %d gives $nick a bottle of Captain Morgan
  :Malibu | return %d gives $nick a bottle of Malibu
  :Coke | return %d serves $nick a glass of Coke
  :NewCoke | return %d serves $nick a glass of New Coke
  :CaffineFreeCoke | return %d serves $nick a glass of Caffeine-Free Coke
  :CokeCherry | return %d serves $nick a glass of Coke Cherry
  :CokeLime | return %d serves $nick a glass of Coke with Lime
  :CokeVanilla | return %d serves $nick a glass of Coke Vanilla
  :CokeCitra | return %d serves $nick a glass of Coke Citra
  :CokeBlackCherryVanilla | return %d serves $nick a glass of Coke Black Cherry Vanilla
  :CokeBlak | return %d serves $nick a glass of Coke Blak
  :CokeLemon | return %d serves $nick a glass of Coke with Lemon
  :CokeRaspberry | return %d serves $nick a glass of Coke Raspberry
  :DietCoke | return %d serves $nick a glass of Diet Coke
  :CokeC2 | return %d serves $nick a glass of Coke C2
  :CokeZero | return %d serves $nick a glass of Coke Zero
  :CokeLightSango | return %d serves $nick a glass of Coke Light Sango
  :DietCokePlus | return %d serves $nick a glass of Diet Coke Plus
  :CokeOrange | return %d serves $nick a glass of Coke Orange
  :DietCokeBlackCherryVanilla | return %d serves $nick a glass of Diet Coke Black Cherry Vanilla
  :DietCokeCitra | return %d serves $nick a glass of Diet Coke Citra
  :DietCokeVanilla | return %d serves $nick a glass of Diet Coke Vanilla
  :NormalPepsi | return %d serves $nick a glass of Normal Pepsi
  :CrystalPepsi | return %d serves $nick a glass of Crystal Pepsi
  :PepsiBlue | return %d serves $nick a glass of Pepsi Blue
  :Pepselseifree | return %d serves $nick a glass of Pepsi Free
  :PepsiTwist | return %d serves $nick a glass of Pepsi Twist
  :PepsiNatural | return %d serves $nick a glass of Pepsi Natural
  :PepsiWildCherry | return %d serves $nick a glass of Pepsi Wild Cherry
  :PepsiVanilla | return %d serves $nick a glass of Pepsi Vanilla
  :DietPepsi | return %d serves $nick a glass of Diet Pepsi
  :JazzDietPepsi | return %d serves $nick a glass of Jazz Diet Pepsi
  :PepsiMax | return %d serves $nick a glass of Pepsi Max
  :PepsiOne | return %d serves $nick a glass of Pepsi One
  :PepsiKaffe | return %d serves $nick a glass of Pepsi Kaffe
  :PepsiKona | return %d serves $nick a glass of Pepsi Kona
  :FantaStrawberry | return %d serves $nick a glass of Fanta Strawberry
  :FantaOrange | return %d serves $nick a glass of Fanta Orange
  :FantaZero | return %d serves $nick a glass of Fanta Orange Zero
  :FantaGrape | return %d serves $nick a glass of Fanta Grape
  :FantaPeach | return %d serves $nick a glass of Fanta Peach
  :FantaGrapefruit | return %d serves $nick a glass of Fanta Grapefruit
  :FantaApple | return %d serves $nick a glass of Fanta Apple
  :FantaPineapple | return %d serves $nick a glass of Fanta Pineapple
  :MtnDew | return %d serves $nick a glass of Mountain Dew
  :DietMtnDew | return %d serves $nick a glass of Diet Mountain Dew
  :Caffeine-FreeMtnDew | return %d serves $nick a glass of Caffeine-Free Mountain Dew
  :Caffeine-FreeDietMtnDew | return %d serves $nick a glass of Caffeine-Free Diet Mountain Dew
  :MtnDewCodeRed | return %d serves $nick a glass of Mountain Dew Code Red
  :DietMtnDewCodeRed | return %d serves $nick a glass of Diet Mountain Dew Code Red
  :MtnDewLiveWire | return %d serves $nick a glass of Mountain Live Wire
  :MtnDewBajaBlast | return %d serves $nick a glass of Mountain Dew Baja
  :MtnDewMDX | return %d serves $nick a glass of Mountain Dew MDX
  :DewIced | return %d serves $nick a glass of Dew Iced
  :MtnDewVoltage | return %d serves $nick a glass of Mountain Dew Voltage
  :MtnDewThinIceFreeze | return %d serves $nick a Mountain Dew Thin Ice Freeze
  :MtnDewThrowback | return %d serves $nick a glass of Mountain Dew Throwback
  :MtnDewCherryFusion | return %d serves $nick a glass of Mountain Dew Cherry Fusion
  :MtnDewDistortion | return %d serves $nick a glass of Mountain Dew Distortion
  :MtnDewWhiteOut | return %d serves $nick a glass of Mountain Dew White Out
  :MtnDewTyphoon | return %d serves $nick a glass of Mountain Dew Typhooni
  :NormalDrPepper | return %d serves $nick a glass of Normal Dr. Pepper
  :DietDrPepper | return %d serves $nick a glass of Diet Dr. Pepper
  :DrPepperCherry | return %d serves $nick a glass of Dr. Pepper Cherry
  :DietDrPepperCherry | return %d serves $nick a glass of Diet Dr. Pepper Cherry
  :Caffine-FreeDrPepper | return %d serves $nick a glass of Caffine-Free Dr. Pepper
  :Caffine-FreeDietDrPepper | return %d serves $nick a glass of Caffine-Free Diet Dr. Pepper
  :CherryVanillaDrPepper | return %d serves $nick a glass of Cherry Vanilla Dr. Pepper
  :CherryVanillaDietDrPepper | return %d serves $nick a glass of Cherry Vanilla Diet Dr. Pepper
  :AWRootBeer | return %d serves $nick a glass of A&W Root Beer
  :BarqsRootBeer | return %d serves $nick a glass of Barq's Root Beer
  :IBCRootBeer | return %d serves $nick a glass of IBC Root Beer
  :MugRootBeer | return %d serves $nick a glass of Mug Root Beer
  :StewartsRootBeer | return %d serves $nick a glass of Stewart's Root Beer
  :VirgilsRootBeer | return %d serves $nick a glass of Virgil's Root Beer
  :NormalLemonade | return %d serves $nick a glass of Normal Lemonade
  :StrawberryLemonade | return %d serves $nick a glass of Strawberry Lemonade
  :KiwiLemonade | return %d serves $nick a glass of Kiwi Lemonade
  :MandarinLemonade | return %d serves $nick a glass of Mandarin Lemonade
  :BlackCherryLemonade | return %d serves $nick a glass of Black Cherry Lemonade
  :MangoLemonade | return %d serves $nick a glass of Mango Lemonade
  :PineapplePassionLemonade | return %d servers $nick a glass of Pineapple Passion Lemonade
  :RaspberryPinkLemonade | return %d serves $nick a glass of Raspberry Pink Lemonade
  :NormalLimeade | return %d serves $nick a glass of Limeade
  :MintLimeade | return %d serves $nick a glass of Mint Limeade
  :CherryLimeade | return %d serves $nick a glass of Cherry Limeade
  :BlackberryLimeade | return %d serves $nick a glass of Blackberry Limeade
  :AppleJuice | return %d serves $nick a glass of Apple Juice
  :OrangeJuice | return %d serves $nick a glass of Orange Juice
  :StrawberryKiwiJuice | return %d serves $nick a glass of Strawberry Kiwi Juice
  :MangoJuice | return %d serves $nick a glass of Mango Juice
  :PineappleJuice | return %d serves $nick a glass of Pineapple Juice
  :StrawberryJuice | return %d serves $nick a glass of Strawberry Juice
  :PomegranateJuice | return %d serves $nick a glass of Pomegranate Juice
  :CranberryJuice | return %d serves $nick a glass of Cranberry Juice
  :TangerineJuice | return %d serves $nick a glass of Tangerine Juice
  :GrapeJuice | return %d serves $nick a glass of Grape Juice
  :Milk | return %d serves $nick a tall glass of cold milk
  :Water | return %d serves $nick a glass of ice cold water
  :StrawberryBananaSmoothie | return %d fixes $nick a Strawberry Banana Smoothie
  :BlueberryBananaSmoothie | return %d fixes $nick a Blueberry Banana Smoothie
  :RasperberryBananaSmoothie | return %d fixes $nick a Rasperberry Banana Smoothie
  :PeachMangoSmoothie | return %d fixes $nick a Peach Mango Smoothie
  :MangoSmoothie | return %d fixes $nick a Mango Smoothie
  :bloodwyne | return %c !wyneA+, !wyneB+, !wyneAB+,  !wyneO+, !wyneA-, !wyneB-, !wyneAB-, !wyneO-
  :bloodcoffee | return %c !coffeeA+, !coffeeB+, !coffeeAB+,  !coffeeO+, !coffeeA-, !coffeeB-, !coffeeAB-, !coffeeO-
  :blood | return %c !A+, !B+, !AB+,  !O+, !A-, !B-, !AB-, !O-
  :bloodtea | return %c !teaA+, !teaB+, !teaAB+,  !teaO+, !teaA-, !teaB-, !teaAB-, !teaO-
  :teaA+ | return %d fixes $nick tea and adds just the right amount of A+
  :teaAB+ | return %d fixes $nick tea and adds just the right amount of AB+
  :teaB+ | return %d fixes $nick tea and adds just the right amount of B+
  :teaO+ | return %d fixes $nick tea and adds just the right amount of O+
  :teaA- | return %d fixes $nick tea and adds just the right amount of A-
  :teaAB- | return %d fixes $nick tea and adds just the right amount of AB-
  :teaB- | return %d fixes $nick tea and adds just the right amount of B-
  :teaO- | return %d fixes $nick tea and adds just the right amount of O-
  :coffeeA+ | return %d fixes $nick a coffee and adds just the right amount of A+
  :coffeeB+ | return %d fixes $nick a coffee and adds just the right amount of B+
  :coffeeAB+ | return %d fixes $nick a coffee and adds just the right amount of AB+
  :coffeeO+ | return %d fixes $nick a coffee and adds just the right amount of O+
  :coffeeA- | return %d fixes $nick a coffee and adds just the right amount of A-
  :coffeeB- | return %d fixes $nick a coffee and adds just the right amount of B-
  :coffeeAB- | return %d fixes $nick a coffee and adds just the right amount of AB-
  :coffeeO- | return %d fixes $nick a coffee and adds just the right amount of O-  
  :wyneA+ | return %d pours two parts A+ and one part red wine into a goblet and hands it to $nick
  :wyneB+ | return %d pours two parts B+ and one part red wine into a goblet and hands it to $nick  
  :wyneO+ | return %d pours two parts O+ and one part red wine into a goblet and hands it to $nick
  :wyneAB+ | return %d pours two parts AB+ and one part red wine into a goblet and hands it to $nick
  :wyneA- | return %d pours two parts A- and one part red wine into a goblet and hands it to $nick  
  :wyneB- | return %d pours two parts B- and one part red wine into a goblet and hands it to $nick
  :wyneAB- | return %d pours two parts AB- and one part red wine into a goblet and hands it to $nick
  :wyneO- | return %d pours two parts O- and one part red wine into a goblet and hands it to $nick  
  :A+ | return %d pours a goblet of A+ for $nick
  :B+ | return %d pours a goblet of B+ for $nick
  :AB+ | return %d pours a goblet of AB+ for $nick
  :O+ | return %d pours a glass of O+ for $nick
  :A- | return %d pours a goblet of A- for $nick
  :B- | return %d pours a goblet of B- for $nick
  :AB- | return %d pours a goblet of AB- for $nick
  :O- | return %d pours a glass of O- for $nick
  :coffee | return %d fixes $nick a cup of coffee just the way they like it
  :tea | return %d $nick a cup of tea just the way they like it
  :error | reseterror
}
#bar end

Comments

Sign in to comment.
LadySorien   -  Jun 02, 2011

Another update to my bar snippet, and a big thanks and kisses to BigSteve who's been helping me fix it.

 Respond  
GuitarMasterx7   -  Mar 18, 2011

don't not is ia double negative... unless you mean do not?

 Respond  
LadySorien   -  Mar 15, 2011

@gooshie, not all know that don't not underestimated people's stupidity

 Respond  
Jethro   -  Feb 22, 2011

Thanks for the reminder. I'll keep that in mind.

 Respond  
gooshie   -  Feb 22, 2011

Btw, I think when it comes to channel operators issuing bot commands they should be fluent enough in mIRC to simply hold down the [CTRL] key and send plain text and thus the first line should be:

on *:text:!open:#:{
 Respond  
gooshie   -  Feb 22, 2011

Jethro_
Thanks! Yes and I wish Hawkee would put the 'cheat sheet' link for phpBB at the top or bottom of this page. Btw, remember the conversation we had like seven or seventy months ago concerning !$nick(#,$nick,vr) where its possible for the op to have voice? Also you see the shorter way to do (\S+)|(close) and note how your version places an extra file writing penalty on the harddrive as in:

on $*:text:/!(\S+)|(close)/S:#:{
  if !%t { 
    inc -u4 %t
 Respond  
Jethro   -  Feb 22, 2011

Hey gooshie. It's been a long time. Nice seeing you pop out again. Unfortunately the color code doesn't apply to code tags but quote ones.

 Respond  
gooshie   -  Feb 21, 2011
on $*:text:/[FIX]\b![/FIX]open\b/iS:#:{
  if $group(#bar) = off && !$nick(#,$nick,r) && ($left($nick(#,$nick).pnick,1) != +) {
    .enable #bar
    msg # The bar is now open for business!
  }
}
#bar off
on $*:text:/!(\S+)/S:#:{
    if $regml(1) = close && !$nick(#,$nick,r) && ($left($nick(#,$nick).pnick,1) != +) {
      .disable #bar
      .timer 1 4 msg # The bar has been closed for the day!
    }
    elseif !%t {
    var %msg = $bartender($regml(1))
    if %msg { inc -u4 %t | %msg }
  }
}
alias -l bartender {
_________________________________________________________________________________________
 Respond  
LadySorien   -  Feb 07, 2011

Thanks Jethro

 Respond  
Jethro   -  Feb 07, 2011

Thinking of adding an on/off switch and maybe some flood protection

on $*:text:/!\bopen\b/iS:#:{
  if !$nick(#,$nick,vr) && $group(#bar) = off {
    .enable #bar
    msg # The bar is now open for business!
  }
}
#bar off
on $*:text:/!(\S+)|(close)/S:#:{
  if !%t { 
    inc -u4 %t
    if $regml(1) = close && !$nick(#,$nick,vr) && $group(#bar) = on {
      .disable #bar
      msg # The bar has been closed for the day!
    }
    else { $bartender($regml(1)) }
  }
}
alias -l bartender {

Then at the end of the script, put "#bar end"

 :error | reseterror
}
#bar end

The command will then be !open to open and !close to close the bar. The basic flood protection is 4 seconds between every trigger. The !close and !open command are only reserved for ops and above, not for regular users.

 Respond  
LadySorien   -  Feb 07, 2011

Thinking of adding an on/off switch and maybe some flood protection

 Respond  
LadySorien   -  Dec 06, 2010

Another update to the script it has been over due for a while I just have been so busy that i haven't had time to do it

 Respond  
LadySorien   -  Nov 02, 2010

Add different types of daiquiris today still working on the vampire bar part

 Respond  
gooshie   -  Oct 20, 2010

GuitarMasterx7
With the standard on TEXT event line you can use globs to match (?) one on (*) more.
With the regex 'upgrade' you can match that way plus more elaborate match patterns but the code looks different.

 Respond  
blackvenomm666   -  Oct 20, 2010

there are other ways to do it and have it work with their banners you know. maybe take their advice and edit what they say to do to work with the banners

 Respond  
GuitarMasterx7   -  Oct 20, 2010

soooo.....

!~~BANNER~~! !cookie person !~~BANNER~~! Gives person a cookie.

?

 Respond  
gooshie   -  Oct 19, 2010

GuitarMasterx7
banner = tags = several characters before and after the message txt with some type color scheme.

 Respond  
GuitarMasterx7   -  Oct 19, 2010

please submit more after you sleep.. we need something to do.. lol

i lol'd...

only reason i read da comments
is to learn sumfin i didnt awready know
if you were to never receive any of those comments
i wouldve stuck to what you had done LadySorien
an now i know of atleast 2 dif other ways to do it.
;D

an wth is a banner? o.O

 Respond  
gooshie   -  Oct 17, 2010

its ok.. we are all just trying to help.. some of us have been writing code for over a decade.. please submit more after you sleep.. we need something to do.. lol

 Respond  
LadySorien   -  Oct 17, 2010

Okay people, I do apologize for the attitude. I've been up for over 36 hours and I need some sleep soon. So I will be posting bi-monthly drink additions.

 Respond  
LadySorien   -  Oct 17, 2010

Jethro_ I'll agree to that

 Respond  
Jethro   -  Oct 17, 2010

I'll call the bar snippet old school, based upon mirc's help file per se, and merely a style of coding "rampantly abused" by beginners. :p

 Respond  
gooshie   -  Oct 17, 2010

LadySorien
As stated in my first post, to be equivalent remove ^ and $ in the regex on text event.
As in: on $:text:/^!(\S+)$/S:#:$bartender($regml(1))
Change to: on $
:text:/!(\S+)/S:#:$bartender($regml(1))

You say you tested every drink but did you test these:
!NormalDrPepper
!DietDrPepper
!DrPepperCherry
!DietDrPepperCherry
!Caffine-FreeDrPepper
!Caffine-FreeDietDrPepper
!CherryVanillaDrPepper
!CherryVanillaDietDrPepper
!RootBeer
!AWRootBeer
!IBCRootBeer
!MugRootBeer
!StewartsRootBeer
!VirgilsRootBeer

Also, there are some inconsistencies in your punctuation after the ones that have "Please choose between". You can find these easy using a search function.
Also, on :text:!sodas*:#:{ .msg <== has a '.' in front of the command which is not consistent with the other commands. This will work fine but not echo to the channel window. Some people actually prefer bots to have it that way so they dont have to see it. With the way I wrote my suggestion it would be possible to change all the responses to silent with the addition of only one '.' prefix dot for each of the two commands. This is sorta considered 'good coding practice' when repetition is removed because then edits become easier. Thus, the edit to make it work for banners/tags is simply two keystrokes. Some people may prefer to force the use of plain text or have their match text more exacting.

Btw, I did not say my code was 'better', I said it was 4.3k bytes smaller and more efficient.

 Respond  
LadySorien   -  Oct 17, 2010

Yes it is redundant. BUT people it is coded so it works with banners such as 3.·´¯10 Kuroi~< night sorien[CF-T] Love >~ Kaze3 ´¯·. The kuroi kaze is a banner. Gooshie's way of writing it won't work with the kuroi kaze. Once again no offence intended I made it so the chatters with banners could use it. This is one of the few ways you can do it with banners, if there is a more efficent way for it to work with banners please tell me.

 Respond  
napa182   -  Oct 17, 2010

a bit touchy there LadySorien.
look he was showing you a more efficient way.
ur setup is so redundant an inefficient you are bound to get people showing you more
efficient ways of going about it.
thats just the way this site works...

 Respond  
LadySorien   -  Oct 17, 2010

And gooshie, not that I minded that rewrite, but it won't work with banners that way. You do know what banners are right? About 80% of my chatters for the room I use the bar script in have banners, so unless you know a better way to get things to work with the banners, then don't tell me your code is better.

 Respond  
LadySorien   -  Oct 17, 2010

People it works fine. I have tested every drink and as I mentioned it before it is coded like this so it will work with banners.

 Respond  
napa182   -  Oct 17, 2010

just a thought....
you can also have the snippet on load put each list of drinks into it's own hash then do
something like this..
just another way to make it a tad bit shorter.

on *:text:!*:#:{
  if ($regex($1-,/( $+ $hget(Drink,Martini) $+ )/iS)) { describe # fixes $nick a $regml(1) Martini }
  elseif ($regex($1-,/( $+ $hget(Drink,Margarita) $+ )/iS)) { describe # blends up a $regml(1) Margarita for $nick }
}

and so on

 Respond  
Sorasyn   -  Oct 17, 2010

Good Lord gooshie lmfao nice. :P

There are a thousand ways to write a script like this but usually the same rule applies the smaller the better.

 Respond  
gooshie   -  Oct 17, 2010

napa182
Thanks! I just had to use notepad with [CTRL]+H and use goto jumps. I almost took it to linux and wrote a perl script just to rewrite this snippet, LOL.

 Respond  
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.