Jump to content

Photo

Quest trigger doesn't (always) fire

quest trigger

  • Please log in to reply
14 replies to this topic

#11
ChewNTobacca

ChewNTobacca

    Regular

  • Members
  • PipPip
  • 96 posts

Still no success on the outcome. Using the quest "DA09ChangeLocation" as a template, I have created a second quest intended to start using a "change location" event, created the aliases, compiled the scripts and fragments, set the variables in CK, and added the quest to the story manager (FWIW, the only time I've used the story manager is for Actor Dialog Events). For the location alias, I set it to use the change location event by utilizing the keyword "LocationHasRefType" of "BossContainer" just like they did, as it is very much fitting for my situation. Both the new scripts compiled successfully (on my first attempt, actually :) ), but I still see no evidence that my key was placed in the container. I also added a 'debug.notification' to the fragment forcing the aliases to the main quest to tell me when it is added, which I never see.

 

The quest itself is set to a priority of 0 and has a single stage of "0" containing nothing more that a script fragment. The fragment is as follows:

;add key to container
Alias_Container.GetReference().AddItem(Alias_Key.GetReference())

kmyquest.ClearpineQuest01ContainerLocation.ForceLocationTo(Alias_Location.GetLocation())
kmyquest.ClearpineQuest01Container.ForceRefTo(Alias_Container.GetReference())

debug.notification("Adding key to Container")

;calling stop on script
stop()

I still don't know where I'm going wrong. I assume this is intended to "start()" by the usage of the change location event.

 

I remain stumped.



#12
IsharaMeradin

IsharaMeradin

    The Pale Redguard

  • Members
  • PipPipPipPipPip
  • 10,546 posts

The Story Manager should start the quest if that is how you set it up.  However, I am not that super experienced with using the Story Manager.   Hopefully, you will be able to get further assistance from others...



#13
ChewNTobacca

ChewNTobacca

    Regular

  • Members
  • PipPip
  • 96 posts

I decided to rethink my method, and instead of adding the key to an existing container, I decided that I would try to use a dead NPC for the container. So I set up an Alias for the NPC, placed him in the world (set to initially disabled and starts dead) and placed the key's alias in the NPC alias. Then later I could enable the dead NPC and disable him again when the quest completes. However, using the same trigger box and the same startup script that I mentioned creating a few posts ago, I cannot get the quest to fire. I kept the startup stage and first objective the same, and I simply cannot get the trigger to initiate the quest. I even deleted the trigger box and activator, and recreated them both after restarting the CK.



#14
IsharaMeradin

IsharaMeradin

    The Pale Redguard

  • Members
  • PipPipPipPipPip
  • 10,546 posts

You can always pre-place the item in the container and then assign the alias to that reference rather than having the quest create the item in the container.  Then you can include a small script on the key that could trigger the quest (or a separate quest sending the player to the NPC) to start when it is transferred to the player inventory.

 

Just make sure you are testing on new games or saves that have not seen the mod in question.



#15
ChewNTobacca

ChewNTobacca

    Regular

  • Members
  • PipPip
  • 96 posts
I believe I have achieved acceptable results, though I have not done extensive testing. After looking things over carefully, I noticed that when I created the alias for the corpse, I did not check the "allow dead" box. After that, it all worked. Somehow that prevented the script from running and the quest starting. (Chewy scratches head)

Once again, I thank you Ishara for the input and knowledge. I've learned quite a bit through this, and discovered that I'm not really a quest designer by nature. Thanks again.





Also tagged with one or more of these keywords: quest, trigger

IPB skins by Skinbox
Page loaded in: 1.261 seconds