Difference between revisions of "Talk:OnContainerChanged - ObjectReference"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>David Brasher
(Added a sample script.)
imported>David Brasher
m (Better section heading titles.)
Line 1: Line 1:
== Bugs with Stacked Items ==
I have a long discussion on potential bugs related to using this function on stacked items.  See the discussion thread here:  http://forums.bethsoft.com/topic/1349382-event-in-script-attached-to-misc-item-only-firing-once/
I have a long discussion on potential bugs related to using this function on stacked items.  See the discussion thread here:  http://forums.bethsoft.com/topic/1349382-event-in-script-attached-to-misc-item-only-firing-once/


Does anyone have any suggestions as to how to summarize that for the wiki page? - [[User:Chesko|Chesko]]
Does anyone have any suggestions as to how to summarize that for the wiki page? - [[User:Chesko|Chesko]]


== Sample Script for Quest-Coding ==
 
== Script for Quest Stage Advancing Using OnContainerChanged ==


Here is a sample script using the OnContainerChanged block type:
Here is a sample script using the OnContainerChanged block type:
Line 23: Line 26:




== Script for Quest-Coding ==
== Script for Quest Stage Advancing Using OnActivate ==


Here is a script that can use an Event OnActivate block instead of an Event OnContainerChanged block:  
Here is a script that can use an Event OnActivate block instead of an Event OnContainerChanged block:  

Revision as of 18:33, 27 April 2012

Bugs with Stacked Items

I have a long discussion on potential bugs related to using this function on stacked items. See the discussion thread here: http://forums.bethsoft.com/topic/1349382-event-in-script-attached-to-misc-item-only-firing-once/

Does anyone have any suggestions as to how to summarize that for the wiki page? - Chesko


Script for Quest Stage Advancing Using OnContainerChanged

Here is a sample script using the OnContainerChanged block type:

; Quest stage advances when the player finds the quest item:
Scriptname AAFoundTheQuestItem extends ObjectReference  

Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
        if (akNewContainer == Game.GetPlayer())
                AAQuest.SetStage (15)
        endif
EndEvent

Quest Property AAQuest  Auto

--David Brasher 19:17, 27 April 2012 (EDT)


Script for Quest Stage Advancing Using OnActivate

Here is a script that can use an Event OnActivate block instead of an Event OnContainerChanged block:

; Quest stage advances when the player finds the quest item:
Scriptname AAFoundTheObject extends ObjectReference  

Event OnActivate (ObjectReference akActionRef)
        AAQuest.SetStage (15) 
EndEvent  

Quest Property AAQuest Auto

Note that the quest stage advances when the player activates the item, not when the player takes it and adds it to inventory. The player could forget to take an item like a book and could leave it in the dungeon. Then the player would walk all the way back to the quest-giver and realize that he or she didn't have the item and needed to go back to the dungeon and get it.

--David Brasher 18:47, 27 April 2012 (EDT)