I have always thought that it is a bit strange that the dialogue scripts are in another language than the rest of the engine. How about having dialogue scripts that work like they do now, but with new commands that are integrated in the main script engine. So that instead of having
Narrator: Howdy!
run-script 31
return
would be (correct me if I am wrong - I have not tried 2.7 yet)
cNarrator.Say("Howdy!); //Could Narrator: Howdy! be shorthand for this?
SetBackgroundFrame(2);
Wait(1);
ShowDialogueOptions(2, 1); //2 s topic defaults to active topic for instance, 1 means pause game while displaying these
Or something. This would lessen the need for complex run-scripts, allow for more interactive dialogues (things happen while you talk), ambient animations while talking etc. Perhaps a bit more complex for beginners, though. But not more complicated than learning how to script in general.
How about it? Just an idea in the spur of the moment.
Well, there's nothing to stop you doing it all in the normal script at the moment. The only thing you'd probably need would be a ShowDialogOptions command, which has already been discussed in another thread and will probably be added in future; so yes, this is do-able.
Very cool. As the versatility of the engine has increased greatly during the short time I have used it, dialogues have lagged behind. This would also allow for weighted and optional dialogue options (as in Knights of the Old Republic where some dialogue choices indicate the use of mental skills).
Actually if I can ever work out all the bugs then you could just implement the script module I'm working on. It pretty much allows you to emulate AGS's built-in dialog system but it's a lot more customizable, and you can scroll your dialog options. There is a thread for the template around here somewhere, but it's outdated (it's junk). The script module will include dialog options which span multiple lines in addition to scrolling (which based on the fact that some dialog options will be cut in half and should have only the second half shown if they are scrolled could prove to be a **tch. Or you could just use a ShowDialogOptions command and lose the functionality that I provide. ;D ::) ;D
Does that mean, monkey0506, that the day you post your script module and I mirror it will be the day you'd like me to remove your template from my site as well?
Well for those who refuse to upgrade to 2.7 the template isn't worthless, but the SM will offer MUCH more functionality, i.e. the SM I just created for increasing string functionality is used, so it will be included in the download. So basically it's up to you(?).
Wouldn't the script module require me to remake all the dialogues made so far?
Well yes, and, uh...yes. You would have to move the dialog text to other scripts... I guess if you have a lot of dialogs already written it would be very time consuming to do this, but I guess it's up to the user whether the want/need the increased functionality I offer. No hard feelings if you don't use it mind you, it was just a suggestion. ;) (and ATM it's still under construction anyway)
what if it was like this...
EGO: hmph!
script {
// ego walks away
cEgo.move(..);
}
BLUECUP: Don't leave! I... I love you.
Quote from: monkey_05_06 on Mon 23/05/2005 02:19:45
Well yes, and, uh...yes. You would have to move the dialog text to other scripts... I guess if you have a lot of dialogs already written it would be very time consuming to do this, but I guess it's up to the user whether the want/need the increased functionality I offer. No hard feelings if you don't use it mind you, it was just a suggestion. ;) (and ATM it's still under construction anyway)
I would love to use it, but since the sheer amount of dialogues in my current project amounts to a short novel, it would add immensely to development time. I'd rather improve on and add extra material instead. But perhaps next time, then? :)