Difference between revisions of "Complete Example Scripts"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Evernewjoy
imported>Evernewjoy
Line 15: Line 15:


So it is best to make a new script, give it a name, and change the name of the script examples below to match the name you typed in.
So it is best to make a new script, give it a name, and change the name of the script examples below to match the name you typed in.
♥ and thanks to our friends at Bethesda!
The Creation Kit is Beautiful!


----
----
Line 90: Line 96:
   if(triggerRef == game.getplayer())
   if(triggerRef == game.getplayer())
  ;--- sound and animation
    ;--- sound and animation
   
   
  playAnimationAndWait("Trigger01","done")
    playAnimationAndWait("Trigger01","done")
  if QSTAstrolabeButtonPressX
    if QSTAstrolabeButtonPressX
QSTAstrolabeButtonPressX.play(objSelf)
    QSTAstrolabeButtonPressX.play(objSelf)
  endif
    endif


  ;actual code for what button should do
    ;actual code for what button should do
  Debug.MessageBox("Joy!")
    Debug.MessageBox("Joy!")
   endif
   endif
Line 121: Line 127:


To extract files from the Skyirm .BSA files you must download something like the Fallout3 Archive Utility, do a google search for this.
To extract files from the Skyirm .BSA files you must download something like the Fallout3 Archive Utility, do a google search for this.
♥ and thanks to our friends at Bethesda!
The Creation Kit is Beautiful!

Revision as of 06:21, 14 February 2012

Complete Example Scripts

  • Script Instantiation

Please remember that no example scripts are complete by themselves, you must create an object in your cell and add this script to the object.

  • Property Setting

And if the script has any properties, those properties must be set to actual values before script will work.

  • Script Name

You can change the name in script below to be anything you want, but the name must match what you type into the editor when you select [NEW] to make a new script.

So it is best to make a new script, give it a name, and change the name of the script examples below to match the name you typed in.


♥ and thanks to our friends at Bethesda!

The Creation Kit is Beautiful!




A Trigger To Activate When Player Walks Through It

Scriptname ExampleTrigger extends ObjectReference

Event onTriggerEnter(ObjectReference ObjRef) 

        ;remove this if statement if you want
        ;other objects to activate the trigger
        ;also
	if(ObjRef == game.getplayer())
		Debug.MessageBox("Yippee!")
	endif

endEvent

To Make This Script Work

Select an existing object in your cell

Click on the Trigger Volume button, the box with a T inside of it.

  • A orange box should appear around the object you selected.

One reason the Creation Kit is more awesome than any prior editor I've used is this feature!

If you know you need a large trigger volume, select a large object before pressing the T-box button!


  • Now edit the new orange box you created and add the script above.
  • Then go in-game and walk into the space where this invisible box is.


Uses:

  • Create events that depend on player positioning
  • You could eliminate the player if statement above and have other actors like draugr or companions activate things as well
  • Non-player triggers can be used by changing the == to a != in the script above, to do things to other actors like restoring their health or moving them around (but not affecting player if player walks through the trigger)




A Fully Functional Dwemer Button

Scriptname DwemerButtonExampleScript extends ObjectReference  

objectReference property objSelf auto hidden
sound property QSTAstrolabeButtonPressX auto

;==================

;this event runs when cell is loaded containing
;this scripted object

event onCellAttach()
	objSelf = self as objectReference
	playAnimation("Open")
endEvent

;==================

EVENT onActivate (objectReference triggerRef)

  if(triggerRef == game.getplayer())
		
     ;--- sound and animation
		  
     playAnimationAndWait("Trigger01","done")
     if QSTAstrolabeButtonPressX
   	   QSTAstrolabeButtonPressX.play(objSelf)
     endif

     ;actual code for what button should do
     Debug.MessageBox("Joy!")
	
  endif

endEVENT

To Make This Script Work

  • You must create this script on a Activator object, probably a dwemer button :)
  • You must then set the property for the QST sound effect property, the sound file has the same name as the property in the script above.


To make your own dwemer button and avoid messing with the original Skyrim scripts/activators:

  • Extract the dwemer button .nif file from the Meshes.bsa and create a new activator using that .nif file (picking the mesh to use is an option in the activator edit window).
  • You must put your extracted .nif file in the skyrim/Data/meshes directory structure if you want the Creation Kit to be able to find and use it.


To extract files from the Skyirm .BSA files you must download something like the Fallout3 Archive Utility, do a google search for this.