N-DReW25 1,321 Posted November 10, 2018 I am currently making a dialogue which needs a conditional to determine whether the Exile helped Chodo Habat and his Ithorians or Jana Lorso and Czerka on Telos, depending on who the player helped the dialogue would be different. With what I want out of the way, do any conditionals currently exist that would allow me to do just this? Or would I have to create my own? If I have to create my own what exactly would I have to do? Quote Share this post Link to post Share on other sites
DarthRaindrops 7 Posted November 10, 2018 I am pretty sure one exists. Kreia talks about the fate of Telos at Malachor V's Trayus Core. She will mention either Chodo and his herd or Czerka's involvement in the restoration project. So you could look for a conditional in the dialog file used by Darth Traya at the Trayus Core. (Unsure if it is kreia.dlg or a special traya .dlg file, you'd have to check the .utc file used) Quote Share this post Link to post Share on other sites
N-DReW25 1,321 Posted November 10, 2018 4 hours ago, DarthRaindrops said: I am pretty sure one exists. Kreia talks about the fate of Telos at Malachor V's Trayus Core. She will mention either Chodo and his herd or Czerka's involvement in the restoration project. So you could look for a conditional in the dialog file used by Darth Traya at the Trayus Core. (Unsure if it is kreia.dlg or a special traya .dlg file, you'd have to check the .utc file used) That half worked. Only one conditional exists and that is for a Czerka ending meaning that I still need an Ithorian conditional to properly have the dialogue, specifically the player replies, work. Quote Share this post Link to post Share on other sites
DarthRaindrops 7 Posted November 10, 2018 If there is only one conditional, that means the game probably uses it like so: If Czerka true = Czerka path taken Else = Ithorian path taken. Basically if the conditional for Czerka is false, the game probably assumes you helped the Ithorians (which in this case is perfectly fine as there are only two paths). Quote Share this post Link to post Share on other sites
Kexikus 994 Posted November 10, 2018 Since this is TSL you can just use on of the generic conditionals that check for a global variable and then use the parameters to specifiy what you're looking for exactly. Then you just need to figure out which global stores this decision. Quote Share this post Link to post Share on other sites
N-DReW25 1,321 Posted November 12, 2018 On 11/11/2018 at 1:57 AM, DarthRaindrops said: If there is only one conditional, that means the game probably uses it like so: If Czerka true = Czerka path taken Else = Ithorian path taken. Basically if the conditional for Czerka is false, the game probably assumes you helped the Ithorians (which in this case is perfectly fine as there are only two paths). In this case "Else" would mean nothing at all. As you've said the conditional for Czerka must be set to true or else it won't work ignoring the line with the Czerka conditional and using the next best option, the line with no conditional aka the Ithorian line. As I need conditionals for player response lines I am only half complete. On 11/11/2018 at 2:15 AM, Kexikus said: Since this is TSL you can just use on of the generic conditionals that check for a global variable and then use the parameters to specifiy what you're looking for exactly. Then you just need to figure out which global stores this decision. 2 This may sound stupid but where do I know where to look to figure out where the global stores the decision I need? I'm assuming one of the 2da files. Another thing I'd like to ask: Would it be possible to rig the conditionals so that my Czerka response requires a conditional to be set to true and the Ithorian response set to false for it to appear? Quote Share this post Link to post Share on other sites
Kexikus 994 Posted November 12, 2018 44 minutes ago, N-DReW25 said: This may sound stupid but where do I know where to look to figure out where the global stores the decision I need? I'm assuming one of the 2da files. Another thing I'd like to ask: Would it be possible to rig the conditionals so that my Czerka response requires a conditional to be set to true and the Ithorian response set to false for it to appear? No, that's not in a 2da file. You can either look through the dialog file in which the choice is made and its attached scripts to find the correct global. Or you can use KSE to find it. In the latter you can probably get an idea just by looking at the names of all the globals but to really check you'd need to search for differences in two savegames with a different choice. And yes, it's easily possible to check for multiple conditions but then you'll need to make your own script. The generic scripts don't cover that. It'd be something like this: if(GetGlobalNumber("whatever") == 3 && GetGlobalNumber("whatever2") > 1){ // do stuff } You can also add more conditions with additional and (&&) or or (||) statements. Also, the generic scripts you'd be looking for if you check for only one global are the "c_global_..." and "a_global_..." scripts for checking and setting globals respectively. Quote Share this post Link to post Share on other sites
N-DReW25 1,321 Posted November 14, 2018 On 11/12/2018 at 6:00 PM, Kexikus said: No, that's not in a 2da file. You can either look through the dialog file in which the choice is made and its attached scripts to find the correct global. Or you can use KSE to find it. In the latter you can probably get an idea just by looking at the names of all the globals but to really check you'd need to search for differences in two savegames with a different choice. And yes, it's easily possible to check for multiple conditions but then you'll need to make your own script. The generic scripts don't cover that. It'd be something like this: if(GetGlobalNumber("whatever") == 3 && GetGlobalNumber("whatever2") > 1){ // do stuff } You can also add more conditions with additional and (&&) or or (||) statements. Also, the generic scripts you'd be looking for if you check for only one global are the "c_global_..." and "a_global_..." scripts for checking and setting globals respectively. I had a look through KSE and I found something of interest. Why not have the Ithorian Conditional be set so that it requires "200TEL_Moza_Help" to be set to true. When the Czerka mercs ambush the Ithorian complex in the light side version if you remember Moza contacts the player prompting them to come back using the "Moza_Help" I mentioned. Once the player does finish up Czerka that would mean that the reply conditional would be set to true meaning that I might be able to use this as the conditional. Do you think this could work? If I did do this would I need the dialogue to be set to Conditional #1: "c_global_eq", P1: 1, "200TEL_Moza_Help"? Quote Share this post Link to post Share on other sites
Kexikus 994 Posted November 14, 2018 1 hour ago, N-DReW25 said: I had a look through KSE and I found something of interest. Why not have the Ithorian Conditional be set so that it requires "200TEL_Moza_Help" to be set to true. When the Czerka mercs ambush the Ithorian complex in the light side version if you remember Moza contacts the player prompting them to come back using the "Moza_Help" I mentioned. Once the player does finish up Czerka that would mean that the reply conditional would be set to true meaning that I might be able to use this as the conditional. Do you think this could work? If I did do this would I need the dialogue to be set to Conditional #1: "c_global_eq", P1: 1, "200TEL_Moza_Help"? I can't tell you if it's the right global but if it is then yes, it should work. That is, if the global is a "number". If it's a boolean, you need a boolean script as well AFAIK. But I can't tell you its name by heart. Also, seeing what you wrote just reminded me that TSL has two conditional slots for every line of dialog. So you can easily use those two to have two conditions instead of writing your own script. Quote Share this post Link to post Share on other sites
N-DReW25 1,321 Posted November 14, 2018 53 minutes ago, Kexikus said: I can't tell you if it's the right global but if it is then yes, it should work. That is, if the global is a "number". If it's a boolean, you need a boolean script as well AFAIK. But I can't tell you its name by heart. 1 Now that I double check 200TEL_Moza_Help is indeed a boolean. I know you said you can't give me the script name off by heart but where exactly would I look for this script? (Like what exactly am I looking for, what makes a boolean script different from a regular script) Quote Share this post Link to post Share on other sites
Kexikus 994 Posted November 14, 2018 9 hours ago, N-DReW25 said: Now that I double check 200TEL_Moza_Help is indeed a boolean. I know you said you can't give me the script name off by heart but where exactly would I look for this script? (Like what exactly am I looking for, what makes a boolean script different from a regular script) The difference in the script is that it uses GetGlobalBoolean instead of GetGlobalNumber. The latter just won't find a boolean so it can't check for its value. The generic script for that would be c_glob_bool_set. With that you don't need the number parameter in the dialog file. I forgot what they're actually called. The "1" in your case. The script will just return TRUE if the boolean is 1 and FALSE otherwise. You can use the not-setting (again, I forgot its actual name) in the dialog conditional to invert the behavior. Quote Share this post Link to post Share on other sites