Jump to content


Photo

Restart romance from scratch & other questions


14 replies to this topic

#1 Mahatmah

Mahatmah
  • Members
  • 11 posts

Posted 07 March 2014 - 10:38 PM

Hi, everyone, first of all i may apologize for my future english mistakes, it's not my mother tongue. Congratulations for this awesome mod, i really enjoy your work there, and was waiting for the french translation since i learnt this mod existed. Well, now i play it !

- About restarting romances :

Well, as many before me did, i fucked up the Shar Teel romance at LT0, i guess now i'll check the "X#SharInterest" every damn time :D. Searching the forum, i found the trick, SetGlobal("X#SharInterest","GLOBAL",1) it works like a charm and the romance continues normally.

Cool : BUT i fucked it up, and i feel bad not knowing what i should have done. I guess there is no console trick to restart the romance from scratch (at LT0), seems complicated to achieve as there are many other variables at play, but if there is one, i'd love to know !

If not : I was thinking of reinstalling the "Shar Teel romance" component of the mod throught the installer. Would this work and reset the romance just like it never started before ? Or will it mess up with variables for other components ?

- About love talks timer :

I set the love talks timers to 30 minutes, but while investigating issues, i wanted to check the 4-5 next (conditionless) lovetalks to see if everything is working smoothly, according to the guide. The idea is just to obtain the next lovetalk immediatly, and then everything continues normally. It may also be useful to obtain the LT0 immediatly after a reinstall, or if i'm running out of time at the end of the game for some reason.

So : Is there a way to artificially skip the waiting time between lovetalks (i mean real time, not game time) with console, BUT not changing the lovetalk timer setup (30/45/60) ? My guess would be SetGlobal("TIMER_NAME","GLOBAL",1), something like that, assuming timers are in seconds ...


Thanks in advance for your time, the mod kicks ass, and as we say here, bonne journée.

Mahatmah

Edited by Mahatmah, 07 March 2014 - 10:44 PM.


#2 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 07 March 2014 - 10:49 PM

Glad you are enjoying Shar-Teel's romance, The gal gets way too little love!

For the general info: The rep has to be 10 or lower for the romance.

To your questions:
-reinstalling the mod(component) will not change any settings of your saved game, no.

-to re-trigger LT 10: set the variable Global("X#SharInterestTalk","GLOBAL",20) to "20". If you do this directly after the LT, you can do this without mixing up the romance.

-to trigger dialogues without waiting, you can cheat the real time advance by pressing "Ctrl. + i". Note that this will also advance all other timers, so NPC will banter and maybe also quest timers will be influenced.

#3 Mahatmah

Mahatmah
  • Members
  • 11 posts

Posted 07 March 2014 - 11:09 PM

Hello jastey, thanks for the quick answer ! You guys ARE banters (awesome technical ones).

General info : I meet all requirements for the romance and X#SharMatch is of course 1.

Now :

-to re-trigger LT 10: set the variable Global("X#SharInterestTalk","GLOBAL",20) to "20". If you do this directly after the LT, you can do this without mixing up the romance.


I was talking about LT0 (but maybe it's a typo ?). At the time, i fucked up the LT0 and played a couple of hours, having no more lovetalks, of course (but i maybe had a Shar Teel banters, not love/friendship related). So is it "right after the LT" ? Or is playing a little more after this a problem ? And for my own knowledge, what does "X#SharInterestTalk" variable stands for exactly ?

EDIT : At the moment i have
"X#SharMatch"=1
"X#SharInterest"=3 (because i messed up,i can turn it back to 1 eventually, but it doesn't re-trigger the dialog i failed)
"X#SharInterestTalk"=1



-to trigger dialogues without waiting, you can cheat the real time advance by pressing "Ctrl. + i". Note that this will also advance all other timers, so NPC will banter and maybe also quest timers will be influenced.


Great thanks you ! I don't plan to use it in real game anyway, it's more for technical testing purposes. Do you know how much time does Ctrl+I pass each time you press it ?


Thanks again jastey

Edited by Mahatmah, 07 March 2014 - 11:30 PM.


#4 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 07 March 2014 - 11:35 PM

To your second question: I don't know how much real time passing is faked, I am afraid.

To the first one: Scripting-wise, the romance is "right after the LT" if nothing more happens, so you should be safe. The variable "X#SharInterestTalk" triggers the lovetalks/interesttalks. Between dialogues, it has an odd number (1,3,5,..), for triggering (after the timer is run), the variable is set to an even number (2,4,6,..) and the talk triggers. So, "X#SharInterestTalk" = 20 is "LT 10". The timer has to be finished for the dialogue to trigger, so after setting the variable by hand it might be that the dialogue does not trigger directly but you'll have to wait (or cheat real time advancing).

#5 Mahatmah

Mahatmah
  • Members
  • 11 posts

Posted 07 March 2014 - 11:44 PM

Thanks jastey, it's clear and I get it, i looked it up and it's just like you described, triggers the related dialog right after i pass time.
But once again i want to re-trigger LT0, not LT10 ! (Huhu, colors :p)

So, "X#SharInterestTalk" = 20 is "LT 10" and "LT 0" is "X#SharInterestTalk" = ???
Zero maybe ?

Once i get this i should be just fine, thanks again, you made my day :).

Mahatmah.

#6 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 07 March 2014 - 11:48 PM

Ah - sorry, should wear my glasses..

Then the variable whould be "2" The first dialogue should trigger after the timer is run.


(Safest way is to reload a savegame before the LTs.. I messed up the Anomenromance because I set the "interest" variable to 1 at a time where it alreay was at "2" - and missed the consequences when facing Bodhi...) EDIT: This is a general warning, not really realted to your new start.

Edited by jastey, 07 March 2014 - 11:49 PM.


#7 Mahatmah

Mahatmah
  • Members
  • 11 posts

Posted 08 March 2014 - 02:42 AM

Thanks for the heads up jastey ! Some news after a lot of tests !

- About the LT variable :

The variable 2 doesn't match the LT0, but the LT1 in fact, settings are as follow

For LT0 (I tested it with an old saved game):
"X#SharMatch"=1
"X#SharInterest"=does not exist
"X#SharInterestTalk"=does not exist

-> You just have to sleep in a forest and LT0 triggers, SO in order to come back to LT0 state we should restore the above values


For LT1
First, I tested it with my current messed up save, just modifying the SharInterest to 1
"X#SharMatch"=1
"X#SharInterest"=1
"X#SharInterestTalk"=1

-> The romance apparently goes on as normal after a few rounds of sleep, LT1 triggers and "X#SharInterestTalk" increments to 3, sounds legit
Then, I tested it with both modifications, modifying SharInterest to 1 AND SharInterestTalk to 2
"X#SharMatch"=1
"X#SharInterest"=1
"X#SharInterestTalk"=2

-> The romance apparently goes on as normal after a SINGLE round of sleep, LT1 triggers and "X#SharInterestTalk" increments to 3, sounds legit

As a conclusion, jastey's trick works for ALL lovetalks (I tested multiple ones), EXCEPT LT0 because you should have to restore the initial settings of not existing variables, anyway, i guess this is complicated and i was able to see the appropriate dialog in my old save anyway, so be it i'll just start from LT1.

- About the timer :

I tried the Ctrl + I trick to speed up the lovetalks, well, it didn't work with lovetalks, only triggers regular NPC-NPC banters, no lovetalks, and no NPC-PC banter. So, in order to check that everything was running smoothly, i decided to set "X#SharInterestTime"=1, for the lovetalks to happen instantly, and everything works fine.

I deduced that "X#SharInterestTime" might not be affected by CTRL + I, in fact, i found on the forum :

Yep - the timer itself is a single value, that doesn't change or count down - instead, the game "catches up" to the timer value and when it passes it you have arrived (think of it kind of like throwing a ball out into a field then walking up to it, then throwing it again, etc.)

So, question, is CTRL + I enough to make the game "catch up" with the timer ?

As an example, just after triggering the LT1 with appropriate answer, i obtain :
"X#SharMatch"=1
"X#SharInterest"=1
"X#SharInterestTalk"=3

"X#SharInterestTime"=948074 -> doesn't moove

Conclusion, Ctrl + I repeatedly doesn't trigger LT2 (and some other tested LTs), various possibilities :
- Is anything else stopping the trigger, maybe an additionnal condition not mentionned in the guide (but after taking a look at the code, i don't think so, not sure tho) ?
- If the trigger is fine, is something stopping the game from "catching up" with the timer, additional timer conditions (this is my best guess, and after taking a look at the code, i suspect area checks to play a role, which indicates i should moove, not sure tho) ?
- Or do i just have to wait the REAL 30 minutes time and stop being impatient (but, i think i did and i still didn't trigger) ?
- Or is my timer bugged ?


Thanks in advance !

Mahatmah

Edited by Mahatmah, 08 March 2014 - 03:33 AM.


#8 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 08 March 2014 - 04:33 AM

Hm, maybe I misunderstood it, because I thought that real time timers are speeded up as well. My bad, probably.

Unfortunately, the expired timer is also checked in the script block that triggers the dialogue(s), so setting "X#SharInterestTime" to "1" to fake the timer is run might be your best bet.

#9 Mahatmah

Mahatmah
  • Members
  • 11 posts

Posted 08 March 2014 - 05:06 AM

It will work with "X#SharInterestTime"=1, for sure, i may create another topic to ask my questions about the Real Time timer :

- Is there a way to check the "value" incremented in the game that is supposed to "catch-up" with the "X#SharInterestTime" score (6 digit) ?

- Is this "value" influenced by other factors than real time passing, like area checks and stuff, so, do we need more than time to activite further lovetalks regarding this particular value.

Thanks again tho jastey, you helped a lot :)

Edited by Mahatmah, 08 March 2014 - 05:08 AM.


#10 JLE

JLE
  • Members
  • 16 posts

Posted 10 May 2017 - 04:11 PM

Right. Can I have a step by step guide here? For the ignorant. Assume that I just about know what a "variable" is, but not which variables actually matter, nor how to alter them in-game - EXACT PRECISE SYNTAX PLEASE!

I don't know how to start the Shar-Teel romance if it isn't starting naturally.

I have reputation 9, Str 11, Cha and Con both higher than that. Reputation has in the past been higher than 9 - one almost can't help that, too many quests INCLUDING some main quests give a rep point as reward, it's actually difficult to keep rep low without murdering civilians, even with the damn poets around. But I've managed to get it to a low-enough state (9) with no immediate prospects of increase.

(Besides, what on earth is wrong with evil characters that they object to *buying* a high reputation with gold at the temple purely because it saves on shop prices and makes people more likely to tell you things?)

Is there a thing, or many things, that I can do to make the relationship actually start? Whether typing into a cheat console (I do know how to get that) or performing an action in-game.

Is there a thing, or many things, that I can do to actually force one of the Talks to happen? Including, but not limited to, the very first one.

A cursory glance at the savefile with ShadowKeeper reveals that there appear to be only four variables that look like they might have anything to do with interactions between Shar-Teel and the player:

X#SHARINTERESTTIME - 875291
X#SHARMATCH - 1

X#SHARPCTALKS - 379908

X#SHARPCTIMERSTARTED - 1

So.
 - Which of these are relevant?
 - Do any of them need to be altered?

 - If so, how?
 - Are there other variables that should exist and don't? (EXACT NAMES PLEASE)
 - If so, is there an in-game action I can perform, or do I have to resort to the cheat console or Shadowkeeper, to actually change things in such a way that something will start?
 - And what SHOULD I have done, or not done, to make said variables properly exist in-game?
 - If everything is working right, but I just need to wait real-time, what EXACT TEXT do I need to type into the cheat console to make it hurry up, as in, produce the next stage instantly?
 - If I were to want to look to find out whether the relationship was, in fact, dead and over, what evidence should I look for, and EXACTLY how should I look for it, as in, what precise text should I type into the cheat console?
 - And if there was a cheat-console way to reactivate it, what precise text should I type in?
 - Somebody above suggested "sleep in a forest". I have tried this. Nothing happens. Does any wilderness area do, or are there some such areas that are not classed as "forest"? What about sleeping underground in the Nashkel mines, which is where I was going next?


Edited by JLE, 10 May 2017 - 05:21 PM.


#11 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 10 May 2017 - 10:19 PM

The first talk that decides whether Shar-Teel is interested or not is triggered by a rest dialogue in a forest ("AreaType(FOREST)") with a male PC and rep below 13. The overall "dream talk timer" of the BG1NPC project has to be run, too.

 

If this is not happening for you I am at a loss. The basic variables for her romance are set, as it seems, so the component should have installed fine.

 

You can force this nighttalk by setting the global variable ""X#ShMale"" to "1" and then click-talk her. You asked for the EXACT PRECISE SYNTAX but didn't specify whether you are playing on the classic ToB engine or the Enhaned one, so I'll refer to this post of mine how to give in cheats.



#12 JLE

JLE
  • Members
  • 16 posts

Posted 11 May 2017 - 03:44 AM

I don't know what you mean by the "dream talk timer", or how it has to be "run". What is its name and how do you do this, or check whether it has or has not been done?

I have a male PC and a rep below 13 - although it has not always been below 13, it has been below 13 at all times while Shar-Teel was in the group. (I didn't take her the first time I met her - I didn't have a male fighter in the party capable of actually beating her in combat, so I went away and came back with Kivan in the party, and then I didn't have room for her so she never joined, so I sent her to wait at the Belching Dragon in Nashkel.)

I have a mixed party with some good and some evil - although it includes Montaron and Xzar, so all the Good characters in the party at the time turned hostile when I did Xzar's Dryad of the Cloudpeaks quest. My protagonist is a TN Druid (Avenger kit - the idea is that he'll be the first character of mine to get the Druids Grove stronghold in BG2 and I'm playing him as a bit of a Shadow Druid type, leaning more to evil than good but not too far: ideally would like to keep party rep around 8-9.)

Another of my party members is Eldoth, though it seems that he and Shar-Teel have a bit of a beef against each other - on one occasion, they ended up fighting to the death, but not leaving the party to do so, and I raised Eldoth at a temple and they didn't continue fighting.) With those two, Monty, Xzar and myself, my Token Good team-mate is Imoen.

Which specific areas are Area Type "Forest"?

I'm playing BG Tutu (BG1 in the BG2 engine), but not Enhanced Edition.


Edited by JLE, 11 May 2017 - 03:53 AM.


#13 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 11 May 2017 - 06:25 AM

I don't know what you mean by the "dream talk timer", or how it has to be "run". What is its name and how do you do this, or check whether it has or has not been done?

I have no idea how to check whether a timer has been run. Timers are set with some high numbers which I don't know how they are connected to the time they are supposed to run. The timer I was talking about is a global timer called "X#DreamTalk" which is used by the whole mod to prevent several rest talks happening at the same rest. It's set to 3 minutes when Shar-Teel joins or any other NPC starts a rest banter. This timer shouldn't be your problem.
 

Which specific areas are Area Type "Forest"?

This question is better suited for an own thread.

EDIT: In case it helps, with the mod installed one area with flag forest would be the Fishing village, FW1400.


Edited by jastey, 11 May 2017 - 06:36 AM.


#14 JLE

JLE
  • Members
  • 16 posts

Posted 12 May 2017 - 05:16 PM

Thanks all, I seem to have somehow got it started without doing anything. Turned out every other time I was trying to sleep in the wilderness managed to trigger some other party banter instead of the initial lovetalk, and then I hit the real time timer that stops *any* banters happening... I guess the initial conversation is actually classed as a banter rather than a lovetalk?

Oh well, now to find out exactly which of the mods is making it so that the Friendly Arm In only sells broken rubbish, overriding Bentley Mirrorshades' normal inventory, and whether that's a fixable quest (I already cleared the Nashkel mines) or indeed whether there's some other stipulation that needs to be met to make him bring out his normal inventory (to which, according to one of my mods, a gem bag has been added).

...[EDIT] That one turns out to be "BG1 Unfinished Business" from Pocket Plane Group, and the problem turns out to be that Bentley Mirrorshades won't serve the party if Eldoth is a member and in the room. One can hardly blame him, he's such a slimeball :-) And the solution is to send Eldoth upstairs so Bentley can't see him...

So far I've got Shar-Teel to talk a bit about Scar, Angelo and mention someone called Ysena, so it looks like the relationship's on...


Edited by JLE, 12 May 2017 - 06:22 PM.


#15 jastey

jastey
  • Gibberlings
  • 6896 posts
  • Gender:Female

Posted 12 May 2017 - 09:40 PM

It's more like the rest banters of the party members are scripted like dialogues*, but yes, then that was the case (I didn't know SharTeel could be so patient, defering ot the others, heh.)

 

*In modder terms, "banters" are triggered differently / randomly by the engine and are in a different dlg file than the dialogues + rest dialogues that have to be triggered by script, just for info.





Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users