Is it possible to do Syberia style speech, where the character is animated in speech view, but the words appear in a box at the bottom of the screen, like subtitles?
Also, can I make a topic list that can be added to and removed from throughout the game, where only those key-words bring up conversation topics?
Quote from: ciborium on Sun 08/04/2007 14:03:22
Is it possible to do Syberia style speech, where the character is animated in speech view, but the words appear in a box at the bottom of the screen, like subtitles?
Try something like cEgo.SayAt(0, 300, 200, "Message"); - it won't create a box and you'll probably have to fiddle around with the x and y co-ordinates a bit, but it should work.
Quote from: ciborium on Sun 08/04/2007 14:03:22
Also, can I make a topic list that can be added to and removed from throughout the game, where only those key-words bring up conversation topics?
Hm... my workaround would be:
* Put ABOVE game_start:
Character *cOtherguy;
//this creates a pointer we'll use later.
* Create the dialog dDialog with completly all options
* Put this in the dialog script:
@S
return
@1
run-script(1);
//if you want, you can put additional stuff here, e.g. stop (remove return then)
return
@2
run-script(2);
//same here
return
//and so on, do this for every dialog topic.
//NOTE: create the options first, it will make the @S, @1, @2 and so on appear!
//also, remove the text behind //.
* Now create properties, as many as you have topics. They
must be named 1, 2, 3, 4, 5 and so on. Create them as strings and set their respective properties to what you want that character to say about topic 1, 2, 3...
* Put this into dialog request:
String prop=String.Format("%d",parameter);
cOtherguy.Say(cOtherguy.GetProperty(prop));
//after that you can still use what dialog_request was intended for. for example, if option 6 gives you an item:
if (parameter==6) player.AddInventory(inventory[2]);
* Put the following interaction in "talk to character":
cOtherguy=Character.GetAtScreenXY(mouse.x, mouse.y);
dDialog.Start();
* If you want to turn options of that dialog on and off, just use the Dialog.SetOptionState command. It's described in the manual.
/EDIT: It's better that way.
/EDIT EDIT: If you use it in your game, please give me credit :=
/EDIT EDIT EDIT: Dumb mistake fixed.
Can I put all my dialog topics in a gui that can access dialog scripts when list item is selected, and just add and remove list items as the game progresses?
EDIT: Figured it out.