GetRandomObjectByType(int, float)
Get a random nearby object within the specified distance with the specified type.
object GetRandomObjectByType( int nObjType, float fMaxDistance );
Parameters
nObjType
fMaxDistance
Used to determine the nNth object to look for.
Description
Get a random nearby object within the specified distance of the specified type.
Remarks
Returns a valid object on success, OBJECT_INVALID on failure.
This uses GetNearestObject to find the object.
You can use the DISTANCE_* constants if you want for fMaxDistance.
Known Bugs
There are some quirks in how fMaxDistance is used to find the requested object. If fMaxDistance is set to DISTANCE_SHORT (3.0), then d2 is sent to GetNearestObject as the nNth parameter. If fMaxDistance is set to DISTANCE_LARGE (10.0), then d4 is sent. ALL other values of fMaxDistance result in d6 being sent.
Meaning, if you send in a distance of DISTANCE_TINY (1.0) you could actually end up with an object that is 6.0 distance away.
Requirements
#include "x0_i0_anims"
Version
???
Example
// Find a nearby creature and noogie them. A silly example but fun to watch. #include "x0_i0_anims" void main() { // Find a random creature within 2 meters. object oTarget = GetRandomObjectByType(OBJECT_TYPE_CREATURE, 2.0); // Validate that oTarget was found. if(OBJECT_INVALID != oTarget) { // Check to see if oTarget is not hostile to us and that we have not noogied them already. if(FALSE == GetIsEnemy(OBJECT_SELF, oTarget) && FALSE == GetLocalInt(oTarget, "BEEN_NOOGIED")) { // Move closer to oTarget. AssignCommand(OBJECT_SELF, ActionMoveToObject(oTarget, TRUE, 0.5)); // Sass them! AssignCommand(OBJECT_SELF, SpeakString("*NOOGIES* Ha ha! Gotcha!")); // Now run before they can noogie you back! AssignCommand(OBJECT_SELF, ActionMoveAwayFromObject(oTarget, TRUE, 25.0)); // Set a flag on the player so they only get noogied once. SetLocalInt(oTarget, "BEEN_NOOGIED", TRUE); } } }
See Also
functions: | GetNearestObject | GetNearestObjectByTag | GetRandomObjectByTag |
constants: | DISTANCE_* | OBJECT_TYPE_* |
categories: | Get Data from Object Functions |
author: Baragg, editor: Mistress