FindRandomReferenceOfAnyTypeInListFromRef - Game
Revision as of 08:11, 25 January 2013 by imported>Tox2ik (→Examples)
Member of: Game Script
Finds a random reference of any of the types in the list from the given reference location and within the given radius.
Syntax
ObjectReference Function FindRandomReferenceOfAnyTypeInListFromRef(FormList arBaseObjectsA, ObjectReference arCenter, \
float afRadius) global
Parameters
Return Value
A random reference of of any of the types within the radius or the center reference, none if none was found.
Examples
import debug
FormList property lookForItems auto ; roughly 1500 entries (all enchanted armors)
float distance = 2560.0 ; slightly longer than the carpet in The Great Porch of Dragonsreach
int len = lookForItems.getSize()
bool looking = true
ObjectReference item
ObjectReference p = game.getPlayer() as ObjectReference
while i < len && looking
item = Game.FindRandomReferenceOfAnyTypeInListFromRef(lookForItems, p, distance)
if item
looking = false
endif
if i % 60 == 0
trace(" iteration: " + i + " / " + len)
endif
i += 1
endWhile
if item
item.moveto(p)
trace("got item: " + item)
else
trace("no items found. list: " +lookForItems+ ", list entries: " + len)
endif
This example will look any enchanted armor that the lookForItems FormList has been filled with (in the CK). While the search distance and the length of the form list look ominously big, this example should find an item within a second if the player is within the specified distance of a qualifying item. The reason for iterating so many times is not really well founded, but it follows the example in critterBird.psc.