Hello ONSID,
I've always loved your name by the way!
Regarding NPC conversations, I also prefer these to be "live". I think this helps to not break immersion. I prefer to use sidechat instead of titletext for these "live" conversations. It helps to differentiate the text from cutscenes, plus you can see more than one line at a time.
For my ARMA mission Last Tango in Bagango (
http://www.ofpec.com/missions_depot/index.php?action=details&id=117&page=1&game=ArmA&cat=sp), I used live conversations twice. Once for an interrogation observed by the player, and another between the player and the survivor of the interrogation. In both cases I had to handle the case where the interrogater, the captive, or the player might be killed, which would terminate the conversation. Also, the Interrogation conversation would be terminated if the Interrogators spotted the player or his team. Attached are the .sqf scripts for these two conversations. Eventhough these are sqfs, they are easy to read, and you could easily enough code the same using .sqs.
Here's some sample code from the interrogate script:
comment "hardass says: u are friently with north?";
if (alive hardass1 and alive civ1 and !gInterrogatorDetectEast) then
{
hardass1 dowatch civ1;
civ1 dowatch hardass1;
hardass1 say "s1_friendly_w_norteno";
hardass1 globalchat localize "STR_s1_friendly_w_norteno";
sleep 3;
};
comment "civ1 says: no";
if (alive hardass1 and alive civ1 and !gInterrogatorDetectEast) then
{
hardass1 dowatch civ1;
civ1 dowatch hardass1;
civ1 say "c1_no";
civ1 sidechat localize "STR_c1_no";
sleep 1;
};
In this code you see how each line of dialog is within an IF statement, so the dialog will not be said unless both hardass1 and civ1 are alive, and the interrogators have not detected the east (which is determined by a global variable set by a West detects East trigger).
So its not too hard to have live conversation that stops if one of the talkers is killed.
Give it a try, I think its worth it.
And, when are you going to get ARMA?
Have fun,
Johnnyboy