Difference between revisions of "Talk:OnActivate - ObjectReference"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>David Brasher
(Added another example script.)
imported>David Brasher
Line 19: Line 19:




== Script on Activator, Only Fires When Player, but not Other Actors, Activates it ==
== Script on Activator That Only Fires When Player, but not Other Actors, Activates it ==


; When the player, and only the player, activates the activator, he or she gets the magic crystal.  (Some random NPC can't go touch the activator and suddenly make this crystal show up in the player's inventory for no reason.)
; When the player, and only the player, activates the activator, he or she gets the magic crystal.  (Some random NPC can't go touch the activator and suddenly make this crystal show up in the player's inventory for no reason.)

Revision as of 14:44, 6 May 2012

Script for Advancing Quest When Item is Found

Here is a sample script using an Event OnActivate 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:49, 27 April 2012 (EDT)


Script on Activator That Only Fires When Player, but not Other Actors, Activates it

When the player, and only the player, activates the activator, he or she gets the magic crystal. (Some random NPC can't go touch the activator and suddenly make this crystal show up in the player's inventory for no reason.)
Scriptname AAAcivatorWithCrystalSCRIPT extends ObjectReference

Event OnActivate(ObjectReference akActionRef)
        if akActionRef == PlayerRef
           Game.GetPlayer().AddItem(AAMagicCrystal, 1)
        endif
EndEvent

Actor Property PlayerRef Auto

MiscObject Property AAMagicCrystal  Auto

--David Brasher 15:43, 6 May 2012 (EDT)