29 Aug, 2009, JohnnyStarr wrote in the 1st comment:
Votes: 0
I've been thinking about implementing an NPC speech update.
The speech would begin when the player enters the room, and the NPC would start talking, and start
saying his 'speeches' line by line.

I have a few ideas, but i'm wondering if anyone else has done this in ROM, or could offer a suggestion.
29 Aug, 2009, Runter wrote in the 2nd comment:
Votes: 0
Easily and often implemented in scripting pseudo languages like mprogs and dgscripts, etc. If you're talking about just a specific system for this you should consider a larger goal of offering some more functionality to it than just speech. (Unless that's really, really all your game is going to require.)
29 Aug, 2009, Ssolvarain wrote in the 3rd comment:
Votes: 0
grall trigger 100

say I bomb your house.
29 Aug, 2009, Lancsta wrote in the 4th comment:
Votes: 0
grall trigger 100
mpecho All your base belong to us!

I think there's a snippet or atleast the concept for npc communication via tells. I'm not exactly sure what your looking for. PC to NPC conversations? Or simple mprogs via grall…

PS, Runters right on about dgscripts. It's all I've ever heard Fizban rant about.
29 Aug, 2009, JohnnyStarr wrote in the 5th comment:
Votes: 0
Well I've used grall but what I want is something that has the feel that the npc
Is a of. Grall just says the one greeting on enter right?
Anyone ported dgscripts to ROM?
29 Aug, 2009, Dean wrote in the 6th comment:
Votes: 0
Lancsta said:
grall trigger 100
PS, Runters right on about dgscripts. It's all I've ever heard Fizban rant about.


With very good reason. :lol:
29 Aug, 2009, Skol wrote in the 7th comment:
Votes: 0
Try adding mpstatus to your game (Tyche wrote it, great idea, really simple).
Then have the mob use mob delay to pause between lines, and mob status to know which one to trigger.
IE.

greet prog (whatever percentage you like)
say Hello $n!
say Here's a little tale…
mob status 1
mob delay 5


delay 100 prog
if status $i == 0
say So where to begin…
mob status 1
else
if status $i == 1
say Ah yes, I was on this mountain one day…
mob status 2
else
if status $i == 2
say And I hear the scariest sound in my life!
mob status 3
else
if status $i == 3
say My wife unlocking the door….
mob status 0
else
endif
endif
endif
endif
29 Aug, 2009, JohnnyStarr wrote in the 8th comment:
Votes: 0
Cool idea.
As far as mpstatus, where do you add this?
Any examples out there?f
29 Aug, 2009, Ssolvarain wrote in the 9th comment:
Votes: 0
You can use the ACT trigger for tells. The catch is that you have to mimic the color codes.
30 Aug, 2009, JohnnyStarr wrote in the 10th comment:
Votes: 0
Ok cool, I see it in the code repo.
Thanks.
31 Aug, 2009, Sandi wrote in the 11th comment:
Votes: 0
If the messages come too quickly, the screen will scroll while someone is trying to read a line. If they come too slowly, people will get bored waiting for the punch line. Since everyone reads at different rates the odds you'll get the right delay for everyone is zilch.

If the mob must say something, have him spit out a decently worded paragraph with simple and compound complex sentences that's worth reading.

Or, pander to illiteracy and have a popular mud. Choice is yours. :evil:
31 Aug, 2009, David Haley wrote in the 12th comment:
Votes: 0
A not terribly complicated answer, which would work a lot of the time, would be to have a user-configured delay between messages so that people who read very quickly can get the text quickly. The only problem is when there are several people whose delays to choose from. That said, I don't think it would often be a problem, and it would solve many common cases. You'd just need some sensible way of resolving conflicting delays, such as choosing the fastest, slowest, average, the slowest with some kind of cap, or a developer's view of an appropriate default.
02 Sep, 2009, Hades_Kane wrote in the 13th comment:
Votes: 0
In the vein of Final Fantasy… we have a 'talk' command.

talk citizen
A Sector Citizen says 'You know, this place really stinks…'

talk citizen
A Sector Citizen says 'But, it's not all bad… especially considering…'

And so on. It lets players proceed at their own pace, or even walk away from an uninteresting conversation if they want.

Of course, we also have a 'delay' system (not the typical thing… a mob prog has: "delay 4 say ____" then that command will be delayed 4 pulses or however long) so we can do it both ways…

But, that is an alternative to consider.
0.0/13