GetIsCurrentPackage

From the Oblivion ConstructionSet Wiki
Revision as of 08:58, 20 June 2008 by imported>Vswe (Added Search Terms)
Jump to navigation Jump to search

Syntax:

[ActorID.]GetIsCurrentPackage PackageID 

Example:

GetIsCurrentPackage AnvilGuardPatrolDay8x7

Returns 1 if the actor is currently running the specified package, 0 otherwise.


Notes:

  • This is only 100% reliable when there are no interrupt packages active.
  • Interrupt packages that override the current package with combat or flight (including crime detection/reaction) do not affect the results of this function. If an actor is running MyPackage and goes into combat, GetIsCurrentPackage MyPackage will still return true.
  • Interrupt packages that implicate an Follow Package (e.g. initiating dialog, pursuing tresspassers) will become the new active package until they're finished, and thus GetIsCurrentPackage will return 0. If you need to be sure a package is not active, you should to test for these AI Procedures as well.
Example:
if getIsCurrentPackage MyPackage == 0 
  message "MyPackage is not active"
endif
When the actor is currently following a trespasser or initiating dialog, the message will be displayed even when "Mypackage" is the active package.
if getIsCurrentPackage MyPackage == 0 
  if  getCurrentAIProcedure != 4 && getCurrentAIProcedure != 15
    message "MyPackage is not active"
  endif
endif
Now the message will only be displayed when the package is not active and the actor is neither initating dialog nor following a trespasser.