Xelagot script by Who 230147


Waiter Script

Script
[Head]
Type=Script
Version=2.0

[Settings]
Origin=0.000n 0.000w 0.00a 0.0°

[Script]
# by Who, 230147 last modified/created July 2000
#
# The script/chat event assumes the bots name is "Waiter" if you change this,
# change the word Waiter in the chat event as well.
# If you want the bot to serve from a set position edit the @bar = field and 
# uncomment the "To @bar" line. The bot will then then return to this location
# after serving.
# If you want the bot to only serve within a specified area edit the @x and @y
# variables to the opposite corners of a imagined cubed area, then uncomment
# the 3 lines in the chat event starting with "IfLoc @a" etc The bot will 
# then only respond to those within the area.
# You may wish to edit the "exit" Label for the bot to run another 
# script once waiter duties are over.
# The "sex" joke at the end may be removed if you don't think its funny or
# suitable - merely edit the last chat event (C8) in the script, change the
# fields on the "no" answer so the one resetting to "food2" is used instead
# of the existing one.
# The bot will ask every 5 minutes, if you wish to change this setting alter
# the "Wait 300" in the first label to the desired time (seconds)
OnWorldDisconnectEvent WFS_IN
OnWorldReconnectEvent WFS_OUT
var $client, @bar
%a = 2
%b = 0.1
%c = 180
#@y = 11.565n 18.671e 15.00a
#@z = 8.047n 15.925e 13.5a
#@bar = 9.400n 18.214e 14.00a 90.0°

botname Waiter

Label loop
#To @bar
OnChatEvent Chat
Wait 300
Say Just ask me for service if you want something
GoTo Loop

Label continue
$client = $n
OnChatEvent
JoinDistance %a
JoinAngle %b
JoinFacing %c
IfJoinPerson &a Sayconcat "Would you care for a drink " $client "? yes or no?"
OnChatEvent C1
Label loop1
GoTo loop1

Label drink
OnChatEvent
OnChatEvent C1
 Say Would you prefer standard or alcoholic?
Label loop2
GoTo loop2
Label drk1
OnChatEvent
 Say You may select from the following, please state your preference.
 Wait 2
 Say Juices - orange, lemon, pineapple or raspberry
 Wait 2
 Say or coke, milk, coffee or tea.
OnChatEvent C1
Label loop3
GoTo loop3
Label orange
OnChatEvent
 Sayconcat "Hands " $client " a glass of fresh orange juice."
 GoTo food
Label lemon
OnChatEvent
 Sayconcat "Hands " $client " a glass of fresh lemon juice."
 GoTo food
Label pineapple
OnChatEvent
 Sayconcat "Hands " $client " a glass of fresh pineapple juice."
 GoTo food
Label raspberry
OnChatEvent
 Sayconcat " <-- Blows a raspberry at " $client
 GoTo food
Label coke
OnChatEvent
 Sayconcat "Hands " $client " a large bubbling glass of coke."
 GoTo food
Label milk
OnChatEvent
 Sayconcat "Hands " $client " a tall glass of fresh milk."
 GoTo food
Label coffee
OnChatEvent
 Say sugar? 0,1 or 2 lumps?
OnChatEvent C1
Label loop4
GoTo loop4
Label coffeeb
OnChatEvent
 Say White or black?
OnChatEvent C1
Label loop5
GoTo loop5
Label coffeec
OnChatEvent
 Sayconcat "Hands " $client " a steaming hot fresh coffee."
 GoTo food
Label tea
OnChatEvent
 Say sugar? 0,1 or 2 lumps?
OnChatEvent C2
Label loop6
GoTo loop6
Label teab
OnChatEvent
 Say White or black?
OnChatEvent C2
Label loop7
GoTo loop7
Label teac
OnChatEvent
 Sayconcat "Hands " $client " a nice warm cuppa."
GoTo food
Label drk2
OnChatEvent
 Say Bourbon, scotch, tequila, gin, rum, vodka or baileys?
OnChatEvent C3
Label loop7
GoTo loop7
Label Bourbon
OnChatEvent
 Say on the rocks or with coke or dry?
OnChatEvent C3
Label loop7
GoTo loop7
Label Bourbonb
OnChatEvent
 Sayconcat "Pours a bourbon on the rocks for " $client
 GoTo food
Label Bourbonc
OnChatEvent
 Sayconcat "Pours a bourbon and coke for " $client
 GoTo food
Label Bourbond
OnChatEvent
 Sayconcat "Pours a bourbon and dry for " $client
 GoTo food
Label scotch
OnChatEvent
 Say on the rocks or with water or dry?
OnChatEvent C4
Label loop8
GoTo loop8
Label scotchb
OnChatEvent
 Sayconcat "Pours a scotch on the rocks for " $client
 GoTo food
Label scotchc
OnChatEvent
 Sayconcat "Pours a scotch and water for " $client
 GoTo food
Label scotchd
OnChatEvent
 Sayconcat "Pours a scotch and dry for " $client
 GoTo food
Label tequila
OnChatEvent
 Say Straight up or orange juice?
OnChatEvent C4
Label loop9
GoTo loop9
Label tequilab
OnChatEvent
 Sayconcat "Pours a tequila and passes salt and lemon to " $client
 GoTo food
Label tequilac
OnChatEvent
 Sayconcat "Pours a tequila and orange for " $client
 GoTo food
Label gin
OnChatEvent
 Say Straight up, tonic or water?
OnChatEvent C5
Label loop10
GoTo loop10
Label ginab
OnChatEvent
 Sayconcat "Pours a gin with ice and passes it to " $client
 GoTo food
Label ginac
OnChatEvent
 Sayconcat "Pours a gin and tonic for " $client
 GoTo food
Label ginad
OnChatEvent
 Sayconcat "Pours a gin and water for " $client
 GoTo food
Label rum
OnChatEvent
 Say Straight up, dry or coke?
OnChatEvent C6
Label loop11
GoTo loop11
Label ruma
OnChatEvent
 Sayconcat "Pours a rum with ice and passes it to " $client
 GoTo food
Label rumb
OnChatEvent
 Sayconcat "Pours a rum and dry for " $client
 GoTo food
Label rumc
OnChatEvent
 Sayconcat "Pours a rum and coke for " $client
 GoTo food
Label vodka
OnChatEvent
 Say Straight up or orange juice?
OnChatEvent C7
Label loop12
GoTo loop12
Label vodkab
OnChatEvent
 Sayconcat "Pours a vodka straight and passes it to " $client
 GoTo food
Label vodkac
OnChatEvent
 Sayconcat "Pours a vodka and orange for " $client
 GoTo food
Label baileys
OnChatEvent
 Say Straight up or with milk?
OnChatEvent C8
Label loop13
GoTo loop13
Label baileysb
OnChatEvent
 Sayconcat "Pours a baileys and passes it to " $client
 GoTo food
Label baileysc
OnChatEvent
 Sayconcat "Pours a baileys and milk for " $client
 GoTo food

Label food
OnChatEvent
 Say Would you care for some food? yes or no?
OnChatEvent C8
Label loop14
GoTo loop14
Label food1
OnChatEvent
Sayconcat "Hands " $client " a plate of roast beef and vegies"
%u = 10
Label food2
Say Thank you for your clientele
ResetTo Loop

Label sex
OnChatEvent
Say How about sex then?
OnChatEvent C7
Label loop15
GoTo loop15
Label sexa
OnChatEvent
Sayconcat "Oh goody! But you'll have to teach me " $client ", I never done it before."
%u = 10
ResetTo Loop
Label sexb
OnChatEvent
Sayconcat "awwww " $client "...oh well, don't know what it is anyway..."
%u = 10
ResetTo Loop

Label exit
Say Woohoo! Closing time! cya!
Exit
End

Event Chat
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
#IfLoc @a IsInCube @y @z GoTo fix1
#EndEvent
#Label fix1
IfString "Waiter service" IsIn $a ResetTo continue
IfString "Yo! Waiter" IsIn $a ResetTo continue
IfString "Time to nick off..." IsIn $a ResetTo exit
EndEvent

Event C1
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "no" IsIn $a ResetTo food
 IfString "yes" IsIn $a ResetTo drink
 IfString "alcoholic" IsIn $a ResetTo drk2
 IfString "standard" IsIn $a ResetTo drk1
 IfString "orange" IsIn $a ResetTo orange
 IfString "lemon" IsIn $a ResetTo lemon
 IfString "pineapple" IsIn $a ResetTo pineapple
 IfString "raspberry" IsIn $a ResetTo raspberry
 IfString "coke" IsIn $a ResetTo coke
 IfString "milk" IsIn $a ResetTo milk
 IfString "coffee" IsIn $a ResetTo coffee
 IfString "tea" IsIn $a ResetTo tea
 IfString "0" IsIn $a ResetTo coffeeb
 IfString "1" IsIn $a ResetTo coffeeb
 IfString "2" IsIn $a ResetTo coffeeb
 IfString "white" IsIn $a ResetTo coffeec
 IfString "black" IsIn $a ResetTo coffeec
EndEvent

Event C2
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "0" IsIn $a ResetTo teab
 IfString "1" IsIn $a ResetTo teab
 IfString "2" IsIn $a ResetTo teab
 IfString "white" IsIn $a ResetTo teac
 IfString "black" IsIn $a ResetTo teac
EndEvent

Event C3
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "Bourbon" IsIn $a ResetTo Bourbon
 IfString "scotch" IsIn $a ResetTo scotch
 IfString "tequila" IsIn $a ResetTo tequila
 IfString "gin" IsIn $a ResetTo gin
 IfString "rum" IsIn $a ResetTo rum
 IfString "vodka" IsIn $a ResetTo vodka
 IfString "baileys" IsIn $a ResetTo baileys
 IfString "rocks" IsIn $a ResetTo Bourbonb
 IfString "coke" IsIn $a ResetTo Bourbonc
 IfString "dry" IsIn $a ResetTo Bourbond
EndEvent

Event C4
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "rocks" IsIn $a ResetTo scotchb
 IfString "water" IsIn $a ResetTo scotchc
 IfString "dry" IsIn $a ResetTo scotchd
 IfString "straight" IsIn $a ResetTo tequilab
 IfString "orange" IsIn $a ResetTo tequilac
EndEvent

Event C5
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "straight" IsIn $a ResetTo ginab
 IfString "tonic" IsIn $a ResetTo ginac
 IfString "water" IsIn $a ResetTo ginad
EndEvent

Event C6
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "straight" IsIn $a ResetTo ruma
 IfString "dry" IsIn $a ResetTo rumb
 IfString "coke" IsIn $a ResetTo rumc
EndEvent

Event C7
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "straight" IsIn $a ResetTo vodkab
 IfString "orange" IsIn $a ResetTo vodkac
 IfString "yes" IsIn $a ResetTo sexa
 IfString "no" IsIn $a ResetTo sexb
EndEvent

Event C8
GetChatPerson &a
GetChatLine $a
GetName $n &a
GetPosition @a &a
IfString $n <> $client EndEvent
 IfString "straight" IsIn $a ResetTo baileysb
 IfString "milk" IsIn $a ResetTo baileysc
 IfString "no" IsIn $a ResetTo sex
# IfString "no" IsIn $a ResetTo food2
 IfString "yes" IsIn $a ResetTo food1
 IfString "table" IsIn $a ResetTo pole2
 IfString "lap" IsIn $a ResetTo pole3
EndEvent

Event WFS_IN
   wait 999999
EndEvent

Event WFS_OUT
   wait 0
EndEvent

Alternativly you can download the script by selecting this link: waiter.zip