GetIsCurrentPackage
Revision as of 08:58, 20 June 2008 by imported>Vswe (Added Search Terms)
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.