Quest Bug: TR_m1_TO_RunningIntoTrouble (Running Into Trouble)

Type: 

Bug

Severity: 

Normal

Game version: 

OpenMW

Concerns: 

TR_Mainland

Found in Version: 

Status: 

Fixed for Version: 

Description: 

The quest Running into Trouble has some issues with the dialogue topic “runaway slaves”.
I’ve fixed the loop and created an exclusive script for Nifum Othril. 
Uploaded here under the number 18: http://www.nexusmods.com/morrowind/mods/43107/?

Screenshots: 

Comments

Confirm: dialogue but will

Rot's picture

Confirm: dialogue will shift between two entries if player keeps selecting the topic. Simplest fix: change condition on entry “Please, let's say no more of the matter.” to ( control >= 1 ) instead of ( control == 1 ).

I don’t think a custom script on Nifum Othril is necessary?
Looking at your .esp the script seems to be an exact copy of the generic one, though there’s one problem in that it has the same name (ID) as the NPC – this can easily induce game-crashing bugs.
Thanks for the report!

Hello. As you can see the 3

Amenophis's picture

Hello. As you can see, 3 of the indexes (51, 52 and 53) set the control var to 2. The problem is that the Dialogue Boxes set to an noexistent TR_m1_Nifum_Othril.control. The NPC has a generic script so I created a new one to add the short variable control and guarantee that the right answer shows after the end of the quest.
Another problem was the absence of “GOODBYE” on the dialogue boxes that reward the player what leads to multiple crops.
Didn’t know about the problem with name of the script. Thank you for the tip. I’m loving Tamriel Rebuilt.

Do you mean to say that

Rot's picture

Do you mean to say that something didn’t work for you on setting “control”? Was it on OpenMW? Tested fine on vanilla Morrowind engine. Or if you mean “TR_m1_Nifum_Othril.control”, that syntax with the period actually means the “control” variable on object “TR_m1_Nifum_Othril” – which variable exists because the generic script declares “control” for all NPCs.

The multiple crops problem doesn’t come from lack of Goodbye, but rather the fact that one dialogue result sets “control” to 1, and a second entry can set it to 2 – since the dialogue that blocks the first entry (“Please, let's say no more of the matter.”) is conditioned on “control = 1”, when control=2 the blocking doesn’t apply and the topic can cycle back to 1,2,1,2, etc. (so adding Goodbye alone wouldn’t prevent the player from picking the topic again)

Yes, I’ve been playing on

Amenophis's picture

Yes, I’ve been playing on OpenMW. I don’t have a windows desktop so I can’t test in the original engine (Morrowind console’s don’t open on my Linux Mint).  Since you already confirmed it works correctly on Morrowind (after the dialogue fixes, of course) this is a bug on their side. I’ll will report there that is a syntax not covered by their engine.
Thank you for taking a look here. I just learned 2 new things with you.

One detail, though – did you

Rot's picture

One detail, though – did you have “control” setting fail only after having already added your script on the NPC? In that case, I wouldn’t be surprised if both the original engine and OpenMW hit a block when asked to set a variable on an object like that and finding a script instead (because of the same ID).

Otherwise yes, I’m sure that syntax is used elsewhere in vanilla so it must generally work in OpenMW, but maybe there could be a glitch with it being called from the dialogue resultbox of the targeted NPC itself? Using “set ID.control to” here is unnecessary since the dialogue results could have just used “set control”, but it could have been necessary in other cases, so it would be a glitch they’ll want to know about.

I first found the error

Amenophis's picture

I first found the error without any mod for Tamriel Rebuilt. I’ll report there, them. Thanks.

I don’t really understand

Atrayonis's picture

I don’t really understand what you two are talking about, since local variables in MW are kinda weird. So I’ve just set control to >=1 as you suggested, pending a new development.

Yes, that should fix the base

Rot's picture

Yes, that should fix the base bug,

You could also change the
set TR_m1_Nifum_Othril.control to 2
and similar lines to just
set control to 2
since it was unnecessary and apparently caused OpenMW-specific trouble.

I’ve just tested the self

Rot's picture

I’ve just tested the self-referencing “ID.local” syntax in a dialogue result in OpenMW 0.40 and it works, so whatever went wrong here isn’t linked to it.

Hello, I expect to finally

Amenophis's picture

Hello, I expect to finally clarify this problem with dialogue loop.

I found that the dialogue loop is created ONLY when the Index is set to 90 (When Mee-Sei has returned to the farm). The issue happens because of 3 of the dialogues for Nifum Othril are set to a wrong control var 1.

Test scene: Go to Orelu Plantation, get the quest from the slave outside, talk with Nifum Othril. After that set the Journal Index to 90. Talk again with Nifum.
Result: The NPC repeatedly rewards the player through 2 dialogues.

Bellow the affected dialogues and the solutions.

“Topic runaway slaves → Please, let's say no more of the matter.”
Solution: Function control must be set to 2. This must work like the final answer after the player has informed Nifum Othril about Mee-Sei returning to the farm or that has already freed her in Firewatch.

“Topic runaway slaves → Thank you for bringing Mee-Sei back, %PCName. I'm sorry to hear that Ki-Ralis is dead. I don't have much, but here, take a share of the latest crop.”
Solution: The Result Box must set control to 2.

“Topic runaway slaves →That slave is my property, %PCName. Your actions constitute theft.”
Solution: The Result Box must set control to 2.

The “looping” bug has been

Rot's picture

The “looping” is already fixed in 1612 but the reward can still be obtained twice even so,
Setting control to 2 is only necessary on “Thank you for bringing Mee-Sei back“ to fix that; the other two changes Amenophis indicates are sensible (can also remove the double space on the entry “That slave is my property, %PCName.  Your actions constitute theft.”)