Jump to content

Helgen Rebuilt Scripting Problems


hfreeman

Recommended Posts

I have run into a problem with creating the Helgen Rebuilt mod. In the first quest, I used the script:

 

Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)

if (newContainer == Game.GetPlayer())

Amulet.SetObjectivedisplayed(30)

Amulet.SetStage(30)

endif

EndEvent

 

on an amulet where the word 'Amulet' was the property that affects the quest. After editing the second quest in the mod which does not affect the first quest other than using one of the same NPCs, the first quest suddenly ground to a halt when the player collects the amulet. The quest would not progress making its completion impossible. If anyone knows an alternative script I could use or what may have gone wrong, please could you tell me. Thank you.

 

Edit: I played the game and checked the quest stage in the console and it said 'Missing Parameter,Quest'. This may or may not be helpful.

Edited by hfreeman
Link to comment
Share on other sites

Did you initialize your variables in this script? That part is not shown in your post. Did you set your properties in the separate window so that they are linked to your variables?

 

Have you created stage 30 for your quest?

Link to comment
Share on other sites

I have run into a problem with creating the Helgen Rebuilt mod. In the first quest, I used the script:

 

Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)

if (newContainer == Game.GetPlayer())

Amulet.SetObjectivedisplayed(30)

Amulet.SetStage(30)

endif

EndEvent

 

on an amulet where the word 'Amulet' was the property that affects the quest. After editing the second quest in the mod which does not affect the first quest other than using one of the same NPCs, the first quest suddenly ground to a halt when the player collects the amulet. The quest would not progress making its completion impossible. If anyone knows an alternative script I could use or what may have gone wrong, please could you tell me. Thank you.

 

Edit: I played the game and checked the quest stage in the console and it said 'Missing Parameter,Quest'. This may or may not be helpful.

 

In other words, you're saying that everything was working fine until you edited the second quest. Then the problem probably has nothing to do with the script you put on the amulet, but whatever you edited in the second quest.

 

You should change one thing in your script though:

 

Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)
if (newContainer == Game.GetPlayer()) && (Amulet.GetStage < 30)
	Amulet.SetObjectivedisplayed(30)
	Amulet.SetStage(30)
endif
EndEvent

 

And the reason that the console said "missing parameter quest" is because you didn't type your quest ID.

Link to comment
Share on other sites

Ok, I had a look at what I had done in the Creation Kit. For the second quest, I had set the alias for the NPC in the first quest as optional. Does anyone know if this might be the cause of my problem?

 

Edit: Unchecking the 'optional' box didn't help.

Edited by hfreeman
Link to comment
Share on other sites

Wait, the NPC doesn't care with the thing you listed before.

 

So you have to first localize the problem. Can you describe your second quest, and how it's started? (through the manager, start game enabled or by calling Start()/SetStage()?

Link to comment
Share on other sites

Wait, the NPC doesn't care with the thing you listed before.

 

So you have to first localize the problem. Can you describe your second quest, and how it's started? (through the manager, start game enabled or by calling Start()/SetStage()?

 

It's started by speaking to a character enabled by an undocumented quest (which acts only as an enable quest for the start character) between the 1st and 2nd quests. The character you have to return the amulet to in the 1st quest is reused in the second quest for a number of things. Therefore, the character is an alias for the second quest. In the game, during the first quest, the 'return the amulet' part can be enabled using the console and after this the quest continues normally.

Link to comment
Share on other sites

So after you worked on the 2nd, the 1st f***** up?

 

Uhm...some suggestions you might want to follow:

 

- if your 2 quests are subsequent, avoid using a 3rd "triggering" quest. You can just call NextQuest.Start() on the final stage of the 1st quest (nextquest is a property)

 

- the dialogue could stay in the 1st quest instead of the 3rd

 

- always put Stop() on the final stage of a quest. This will make sure the aliases stop working and will no conflict with aliases from other quests

 

- try recompiling your scripts

 

- use default scripts when possible

 

- i'm almost sure that something you did with the 2nd quest screwed the 1st, so try making a backup of the esp, then delete the 2nd quest and see if it's working now

 

EDIT: didn't noticed you wrote that if consoling the stage 30 the quest works. So, is the script attached to the amulet or to the alias pointing to the amulet?

Edited by gasti89
Link to comment
Share on other sites

  • Recently Browsing   0 members

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