Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
- Sakharine71 6m
- BigLammo 7s youtu.be/NZR4EeTkRqk
a Mench 38m Doing a bit of everything.
- Ralph 6m
- Ameliorative 1h
- PsycoticCone 1h
- notloose 9h
And 13 more hiding and/or disguised
Connect to Sindome @ moo.sindome.org:5555 or just Play Now

Bartender Goodbyes
and cashiers and shit

Ok, I've expanded the goodbye logic of our bartenders to use scripts. I'm accepting scripts for each bartender (and food cashier �/ diner)

Now, if you've got a really good idea for some custom response stuff, submit a 'master goodbye' script that will -always- be used when someone says goodbye somehow.

Normally, one of two scripts will be called, based on the length of the goodbye said to the bartender, a 'short goodbye' or a 'long goodbye' response.

In all cases, the following variables are always provided:
<table cellpadding=2 cellspacing=0 border=1>
<tr><td>%npc</td><td>the bartender (food cashier / waiter)</td></tr>
<tr><td>%player</td><td>the person saying goodbye</td></tr>
<tr><td>%question</td><td>what was said</td></tr>
</table>
Example short goodbye script:
<font size="3"><code>
uses $npc_centric_script
random "selection" 5
if equals %selection 5
�do "nod %n"
elseif equals %selection 4
�to %player "Later."
elseif equals %selection 3
�do "wave %n"
elseif equals %selection 2
�to %player "See ya."
else
�// no need to do a damn thing here
endif
</code></font>

Example long goodbye script:
<font size="3"><code>
uses $npc_centric_script
random "selection" 5
if equals %selection 5
�to %player "Yeah yeah, you'll be back."
elseif equals %selection 4
�to %player "Don't be a stranger."
elseif equals %selection 3
�do "address %n"
�do ".nod and .wave at %n as I .clean up."
elseif equals %selection 2
�to %player "Take it easy. I'll probably be here when you get back."
else
�// no need to do a damn thing here
endif
</code></font>

The examples are pretty basic because they kinda need to work for -any- bartender npc right now. I'm looking for more specific scripts for different kinds of bartender npcs.


  1. Juan @ Tony's Pizza
  2. Alice @ Orifice
  3. Vicki @ Bansupuro Noodle Stand
  4. Bitchn' Chickn' Staff
  5. Rosa @ Rosa's Diner
  6. and many more ...

Hmmm, how would %question be used?

I don't see it listed anywhere in the examples.

Is it simply a way for the $npc to repeat what the character said ?

What is the less expensive MOO-Wise a script for each npc or a big script that knows witch one is answering to the goodbye and returns the cheerio script.

Oh yeah, any pointouts as to the NPCs personas? Does Juan uses a latino words amidst his english? Does Alice call everyone honey? Things like that would be very appreciated, but if none is defined, can we create a persnonality for them?

%question is provided so you can match against it to pick what you say based on the content

Example:
<font size="3"><code>
if match %question "later fucker"
�to %player "fuck you too"
endif
</code></font>

Combined with the new sub-routine methods, you can do some pretty amazing conversation structures.

<blockquote>
<font size="3"><i>
What is the less expensive MOO-Wise a script for each npc or a big script that knows witch one is answering to the goodbye and returns the cheerio script.

Oh yeah, any pointouts as to the NPCs personas? Does Juan uses a latino words amidst his english? Does Alice call everyone honey? Things like that would be very appreciated, but if none is defined, can we create a persnonality for them?
</i></font>
</blockquote>

Its less expensive to have a script for each npc that needs to have a custom one or -can- have a custom one.

Rosa: She's an older woman, 60s or so. Simple woman, polite and kind of word. She's had it easy, owning her own business on green and all.

Bitchin Chickin Staff: Standard fast-food teenagers who don't care about you not caring about them not caring about their job.

Alice: Older ex-hooker, flirts with anyone and everyone sooner or later, but not all the time. She uses drugs because she knows shes getting old and is trapped in her life

Rychek: Sometimes a smart-ass, often a dick, he keeps things sane in the bar and won't ever have a bad word about Hookie.

Juan: Mexican who doesn't speak a bit of spanish, Juan isn't too complex or overly friendly.

Vicki: She's a park dweller, thru-and-thru, she don't take any shit, but she knows what fights to pick and when to shut her mouth. Shes not very sexual at all when dealing with her customers, you know, people who eat rat cuisine.

Amy: Simple girl who works at a very sensual club, she knows how to tease enough to get a nicer tip every now and then.

Hmm, ok.  I understand If match ..

Is there an If contains?

How is contains different than match?

equals/notequals means the two values must/must not be identical.

match/notmatch means the first argument must/must not contain the second argument.

example:

equals "A" "A" �=> true
equals "AA" "A" => false
match "A" "A" => true
match "AA" "A" => true
match "A" "AA" => false, because "A" does not contain "AA"

More practical examples are:
set %question "Yes, you fucking dipshit."
match %question "yes" => true
match %question "fuck" => true
match %question "e" => true
match %question "a" => false (there's no a anywhere in there)

Furthermore, match can take additional things to match against. The arguments for match are: match "phrase" "pattern" (case matters.. 1 or 0) "additional pattern" "additional pattern"... etc.

So because case almost never matters, examples would look like this:

match %question "yes" 0 "yeah" "sure" "ok" "no problem" "you got it"

Notice the 0 for the <case matters> argument meaning case dosn't matter.

If you refer back to part 1 or something I think... and check the reference for if, you can also do AND's and OR's too...

-Kevlar

(Edited by Kevlar at 4:21 pm on April 2, 2003)

Quote: from Kevlar on 7:19 pm on April 2, 2003[br]

match/notmatch means the first argument must/must not contain the second argument.

I think that answers what I need.

I was thinking that 'match' was literal and that the condition would return true (match) if the entire variable (in the case the whole text string) matched.

I wanted to have some conditional responses based on if a certain word was present in the %question.

For example
I'd want the following phrases to trigger the response.

Later Fucker.
Eat shit
Bite my dick you shit ass fuckwad
Fuck you.
Later you shitty prick

If match %question "shit" 0 "fuck" 0
to %player Watch yer mouth you piss ant little wanna be, or the next time you come in here I'll have Hookie kick you ass!
end if.

I didn't want to have to write an if match statement for each 'entire phrase'.  I thought that would be sloppy.

Seems like I don't have to.

Thanks!

Check the example again: The case sensitive is only given once after the first pattern:

if match %question "shit" 0 "fuck"

or

if match %question "shit" 0 "fuck" "piss" "crap" "fluffy bunny"

M-kay?

-Kevlar

Ok,

Here's what I have so far .. a basic skeleton with a tiny bit of flesh on it.

Before I spend a ton of time on it, I just want to make sure I'm on the right track.

//Rychek response
uses $npc_centric_script


if match %question "dickead" 0 "fuck" "shit" "ass" "bitch" "bastard"
jump "angry"

else if match %question "prick" 0
jump "nasty"

else if match %question "why I come here" 0
jump "funny"

else if match %question "later man" 0 "later dude" "later Rychek" "chummer" "choomba"
jump friendly"


else if match %question "find a doc" 0
jump "doc"


else if match %question "find work" 0
jump "work"


else if match %question "find a room" 0 "find a hotel" "find a coffin" "find a cube"
jump "room"

else
jump "normal"


stop

label "nasty"
//put several nasty responses here
radnom "nty" 5
if equals %nty 1
to %player "Someone dump some chlorine in your gene pool or something?"
if equals "nty" 2
to %player "What are you, the result of brother and sister fucking?"
if equals "nty" 3
to %player "Don't call me that you piss ant little wannabe prick!"
if equals "nty" 4
to %player "You suck your boyfriend's dick with that mouth?"
if equals "nty" 5
to %player "Get outta here before I get Hookie to smack you around!"
else if

end if
finish

label "angry"
//put several angry responses here


finish

label "funny"
//put several funny responses here

random "fny" 99999
if equals "fny" 1
do "grin"
pause 2
to %player "Because you don't have anyone at home to abuse you like this."
pause 1
do ".chuckle"

finish

label "friendly"
//put several friendly responses here

finish
label "normal"
//put many normal responses here

finish


label "doc"
.do ".hook a thumb towards the west."
pause 2
to %player "FullerMed is just down the street, that way."
pause 2
to %player "West Side Elective is up on Gold, on Soma, just south of [insert street here]"

finish

label "work"
.do ".look you up and down"
pause 2
to %player "Try the SHI factory, I think the electronics line is hiring."
pause 2
do ".think a moment"
pause 2
to %player "Yeah, I hear word there's a guy in a warehouse on Saedor who's lookin for delivery people."

finish

label "room"
to %player "New Rose Hotel is right next door."
pause 2
to player "If you've got steady chyen, try the Westinghaus Apartments over on Knife."
pause 2
to %player "Coffins are free for the first couple weeks for poor, new immigrants."
pause 1
to %player "They're up by the entrance to the city, where you came in."
pause 5
to %player "I think there's a hotel up on Gold, on New Light by Saedor."
pause 2
to %player "Not sure about that one though, I don't get up there much."

Still need the custom scripts?

Let me know.

always need more scripts, messages, ect.

One thing I'd like to see is more variety in how you drink drinks and stuff.

One never 'swirls and savours' tequilla. One pounds back and sucks a lime.

If you've time, sample drinks, check the messages, then make sure they fit the drink type.

And drugs need scripts for being high as well.

*nods*

Well, as most drinks are a foor/drink object, how does one create drink/sip variations?

@drink1, @drink2, @drink3 will suffice or should I drop a if statement (Bable-On) here so you can paste it on the code?

Also does Bable-On have swich/case?

An if statement seems appropiate...

There is 'random' which will get you a random number too. See the post on math.

So you can do something like:


random "%drink" 3
if equals %drink 1
 ...
elseif equals %drink 2
 ...
else
 ...
endif

-Kevlar

Quote: from Kevlar on 1:51 pm on Mar. 26, 2004[br]An if statement seems appropiate...

There is 'random' which will get you a random number too. See the post on math.

So you can do something like:


random "%drink" 3
if equals %drink 1
�...
elseif equals %drink 2
�...
else
�...
endif

-Kevlar

I saw it, seems real cool.

I'll get to that, let me get some insider info first.