Editing
SpawnerTask Script
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
__NOTOC__ {{SKSEFunction|1.7.3}} A scripted SKSE interface that allows you to spawn objects (e.g. PlaceAtMe) in bulk, such that none of the spawns have to wait on each other. == Definition == <syntaxhighlight lang="papyrus"> ScriptName SpawnerTask Hidden </syntaxhighlight> == SKSE Global Functions == :'''Int [[Create - SpawnerTask|Create]]()''' :*Creates a new SpawnerTask and returns the handle. If the handle is zero or a negative number, then SKSE failed to create a SpawnerTask. :'''[[AddSpawn - SpawnerTask|AddSpawn]](Int ''handle'', Form ''formToPlace'', ObjectReference ''target'', Float[] ''positionOffset'', Float[] ''rotation'', Int ''count'' = 1, Bool ''bForcePersist'' = false, Bool ''bInitiallyDisabled'' = false)''' :*Queues an object to spawn at the target when the SpawnerTask is run. :**The ''positionOffset'' array is a world-relative offset from the target. :**The ''rotation'' is a world-relative rotation to be applied to the new object. :'''ObjectReference[] [[Run - SpawnerTask|Run]](Int ''handle'')''' :*Executes the SpawnerTask, spawning all queued objects and returning an array. :'''[[Cancel - SpawnerTask|Cancel]](Int ''handle'')''' :*Aborts the SpawnerTask. == Example == <syntaxhighlight lang=papyrus> Static Property XMarker Auto {Auto-fill.} Function SomeFunction() Float fPosition = new Float[3] Float fRotation = new Float[3] fPosition[2] = 128 Int iHandle = SpawnerTask.Create() If (iHandle > 0) Int iIterator = 0 While iIterator < 5 SpawnerTask.AddSpawn(iHandle, XMarker, fPosition, fRotation) fRotation[2] += 24 iIterator += 5 EndWhile ; ObjectReference[] kResults = SpawnerTask.Run() EndIf EndFunction </syntaxhighlight> == Notes == * A SpawnerTask may only be used from the same call stack that created it. If you create a SpawnerTask while responding to one event, you cannot manipulate that SpawnerTask from a different event. * If a call stack expires without running or canceling its SpawnerTask, SKSE will automatically destroy the SpawnerTask the next time the player saves and loads the game, to prevent it from hanging around in memory forever. [[Category:Scripting]] [[Category:Papyrus]] [[Category:Script Objects]] [[Category:SKSE]] [[Category:SKSE Script Objects]]
Summary:
Please note that all contributions to the CreationKit Wiki are considered to be released under the Creative Commons Attribution-ShareAlike (see
CreationKit:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Template:SKSEFunction
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Landing page
Tutorials
Game Systems
Editor Reference
Scripting Reference
Recent changes
Help
Tools
What links here
Related changes
Special pages
Page information
Page values