Jump to content

Recommended Posts

Posted

Hello,

I am having a problem with quest targets. I have a quest in my mod which marks a number of respawning Actors (NPC's) as quest targets by means of selecting them in the render window and adding them to the quest target window. The problem I'm having is described on the TES CS Wiki. In the definition of a quest target, the TES CS Wiki states that "All targets whose conditions are true will be displayed". On the TES CS Wiki writeup for the Quest Target Tab, it states that "all targets (for the player's active quest) which pass their conditions will be displayed on the player's compass and map". However, on the same quest target tab writeup, conflicting information is subsequently given which says "Note that the conditions are applied to the player, not the quest target. Note also that checking the "Run on Target" box will cause the condition to evaluate to false". This conflicts with the statement that "All targets whose conditions are true will be displayed".

 

Testing does seem to prove that the conditions are indeed applied to the player and NOT the quest target, regardless of the setting of the "Run on Target" option. So I can see no way to test the dead or not-dead status of a quest target and to either show or not show the quest target markers for the living quest targets only. I refuse to believe that this is true.

 

I am trying to get the green quest target markers to disappear for any quest target which is currently dead, and to reappear when the quest target respawns. If I apply the condition "GetDead == 0" to the quest target, the green quest target markers will appear for ALL quest targets regardless of their dead or not-dead status. Furthermore, the marker for any living quest target continues to show on the compass and map after the living quest target dies.

 

Is there a simple yet elegant solution for this problem?

Posted

If I understand what you are saying correctly, you would need a completely separate quest for each and every 'target' to show them individually -- that's how Oblivion quests work. Furthermore, quest targets must have a persistent reference to be visible as a marker.

Posted

Thank you for your reply, although I'm not sure I can agree with some of what you say. The quest targets are Imperial Legion Foresters, and they are persistent references. So you are correct saying that quest targets must be persistent references. However, as per the CS Wiki Quest Tab writeup: "One or more quest targets can be specified in a quest. Depending on the conditions specified for the targets, multiple quest targets can appear at the same time -- all targets (for the player's active quest) which pass their conditions will be displayed on the player's compass and map". The fact that I show a quest target marker for all thirteen Imperial Legion Foresters proves that to be correct. Additionally, the vanilla quest "Allies For Bruma" proves this also because it also has multiple quest targets. So, at the moment, I disagree that I need a seperate quest for each target.

 

My only problem is that the thirteen target markers show all the time, rather than only when the target is alive. If the target is dead, the marker shows the quest target at the place where the target died rather than not showing the target at all. If the target is alive, it shows the target wherever the target currently is - which is the way it works when the Gray Fox sends a messenger to find the player prior to the next Thieves Guild quest. The messenger shows up as a moving green target marker that follows the player around Cyrodiil.

 

This whole problem exists only because the conditions that are specified for the quest targets are actually applied to the player instead of the quest target. This anomaly is described on the CS Wiki, which I quoted in my original post. To prove it out, I applied the condition ReferenceID.GetDead == 0 to each quest target. All thirteen target markers showed on the compass and the map, even when they were all dead. I then applied the condition ReferencedID.GetDead == 1. No quest target markers showed up at all, even when all the targets were alive. Both of these tests prove that what the CS Wiki says is correct - that the conditions specified for the quest targets are actually applied to the player and not the quest target, regardless of the "Run on Target" setting.

 

So I'm still trying to figure out a workaround for this problem. I need the quest target marker to disappear if the target is dead and appear again when the target respawns. It may or may not be possible. What I'll never understand is why a condition which has been specified for a target is applied to the player instead. Yet another Bethesda bug I suppose. I don't know how to fix that.

Posted

You missed the most important part of my statement. I did not say that there cannot be multiple quest targets at all. What I said was that to show them individually, you would need multiple quests. You can have a hundred markers in the same quest and they will all show... at the same time. You cannot show only marker number 23 and none of the others. This is a recurring issue with CM Partners, for instance. You don't agree. Fair enough.

Posted

Actually it's more that I didn't quite understand how you meant what you said, and only disagreed with what I thought you meant. However I'm not trying to show the targets individually. I'm trying to make all living targets show, and all dead targets to not show. As per the CS Wiki description of Quest Targets: "...all targets (for the player's active quest) which pass their conditions will be displayed on the player's compass and map." This says to me that all targets which do NOT pass their conditions test will NOT appear and those which do pass WILL appear. The problem is that the condition (ReferenceID.GetDead == 0) is applied to the PLAYER instead of the target (the CS Wiki confirms that this problem does exist). So even if I had a seperate quest for each target, the result would still be that the individual target would still show up on the compass and the map even when the target is dead because the condition is always applied to the player rather than the quest target.

 

So please don't think that I'm trying to be argumentative. I most definitely am not. Rather than talk about multiple targets, let's talk about a workaround to the problem that the conditions are applied to the player rather than the quest target. That is the issue - not mulitple targets.

 

Thank you in advance for any further replies.

Posted

You are still missing the point. The dead targets remain part of the same quest, just in a different state. If you had separate quests for each target, you could selectively disable any 'dead' targets, and their quest marker would disappear. I suspect that would not be practical, but I see no other way.

Posted

I am aware that the dead quest targets are still part of the same quest, only in a different state of existence. That is why I wanted to test the state of the targets with the condition ReferenceID.GetDead == 0. If the condition were applied to the target, the condition would solve the problem neatly. But since the condition is applied to the player for some reason (probably Bethesda's oversight), I pretty much have to agree that there seems to be no realistic way to achieve the goal. I was hoping for a workaround solution but I can't think of one. You are also very correct in assuming that disabling the dead targets is not practical. They would have to be re-enabled according to a seperate "respawn timer" for each quest target (possibly requiring the seperate quest for each target concept that you mentioned), however that is not the kind of solution I was hoping to find.

 

Thank you very much for your time. I appreciate your willingness to help out where possible. For now, I will continue to ponder over a solution on my own, but my hopes of finding a suitable one are diminishing rapidly.

Posted

I'm sorry I couldn't be more help, but good luck finding a solution.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...