nicked on 1/8/2019 at 12:32
Not entirely sure what to search for on this.
I'd like to find a way to dynamically update objective text ingame. Is that possible, maybe with a script? So e.g. your goals.str could have goal_0 "Steal the <custom string>" and then you could vary it based on an ingame change to what you want the player to steal.
I know the simple brute-force way would be to just have multiple objectives and only display one, but I'd prefer a neater way.
If the brute-force method is the only way, does anyone know if with NewDark, 31 is still the maximum allowed goals in a single mission?
Yandros on 1/8/2019 at 12:46
I don't know of any way to change objective text on the fly, even with NewDark. The only script module which might support that kind of trickery is KDscript, but I don't recall that functionality. I would imagine multiple goals is your only path.
Unna Oertdottir on 1/8/2019 at 13:29
According the The Pixies qvar tutorial (best tutorial ever) you can have 32 goals. The goal limit was not mentioned in ND docs, so I assume it's still the same.
R Soul on 1/8/2019 at 18:11
An alternative to multiple goals for different objects is to use one object and change its location based on some initial condition.
E.g. you can use NVTrapSetQVar to give a qvar a randomised value when the mission starts. You can then use a set of QuestVarTriggers (one for each possible value) to activate different TeleportTraps. To provide clues, you can make use of the fact that book texts can also use the qvar system if Book > Text = qvarname and you have a set of str files called qvarname0, qvarname1 etc.
nicked on 1/8/2019 at 19:30
Yeah, and with NVRelayTrap's random options, you can pretty much randomise anything in the level. Objective text would seem to be the one exception. It's not a blocker for what I need, just wondered if there was a neat way of modifying it.
ZylonBane on 1/8/2019 at 23:01
Any string that's displayed by native engine code, from an external resource file, is set in stone. Only script-generated text can by dynamic.