Masterofnet Posted March 16, 2014 Share Posted March 16, 2014 (edited) ScriptName DroppableQuestObject Extends ObjectReference Event OnContainerChanged(ObjectReference NewContainer, ObjectReference OldContainer) If FromQuest.GetStage() < StageToStopQuestItem ; Are we a quest item at the current stage? If OldContainer == PlayerREF FromQuest.SetObjectiveDisplayed(ObjectiveToDisplayOnDrop, True, True) FromQuest.SetObjectiveDisplayed(ObjectiveToHideOnDrop, False) ; Uncomplete the objective completed on pickup. If UncompleteEnable FromQuest.SetObjectiveCompleted(ObjectiveToCompleteOnPickup, False) EndIf If StageToSetOnDrop >= 0 FromQuest.SetStage(StageToSetOnDrop) EndIf ElseIf NewContainer == PlayerREF FromQuest.SetObjectiveDisplayed(ObjectiveToDisplayOnPickup, True, True) FromQuest.SetObjectiveCompleted(ObjectiveToCompleteOnPickup) If StageToSetOnPickup >= 0 FromQuest.SetStage(StageToSetOnPickup) EndIf EndIf Else ; Nope, we're not a quest item at this stage. EndIf EndEvent Actor Property PlayerREF Auto Quest Property FromQuest Auto ; Set this to the quest the item is a quest item for. Bool Property UncompleteEnable Auto ; If true, "uncomplete" the objective completed on pickup when dropped. Int Property StageToStopQuestItem = 99999 Auto ; At this stage or later, it effectively ceases to be a quest item anymore. Int Property StageToSetOnPickup = -1 Auto ; When item is picked up, set this stage in the quest (Defaults to No Stage) Int Property ObjectiveToDisplayOnPickup Auto ; What objective should be displayed when item is picked up by the player? Int Property ObjectiveToCompleteOnPickup Auto ; Usually the "Get this item" objective. Int Property StageToSetOnDrop = -1 Auto ; If player drops the item, what stage do we "go back" to? Int Property ObjectiveToDisplayOnDrop Auto ; Re-display the objective to "get" the object. Int Property ObjectiveToHideOnDrop = -1 Auto ; Should be the same as ObjectiveToDisplayOnPickup, ideally.This is not a script for a droppable quest object. If you check the object a quest item you will not be able to drop it. All this script does it keep track of an item. The reason it was doing nothing was a separate issue I resolved. I have several quest designed that involve crafting and object. As you know a quest object can not be dropped so it can not be used to craft anything. What I have done for now is trigger the quest to end when the player activates the crafting station and trigger a new quest to start. I was hopping to find a way to check the items out as quest item without ending the quest so I do not need to trigger a separate quest. Edited March 16, 2014 by Masterofnet Link to comment Share on other sites More sharing options...
fantasy19 Posted March 17, 2014 Share Posted March 17, 2014 (edited) your object can only be crafted once or more than once? Try with a empty objectreference/armor property that only gets assigned when you craft the item for the first time. Edited March 17, 2014 by fantasy19 Link to comment Share on other sites More sharing options...
Recommended Posts