Difference between revisions of "GetIsCurrentPackage"
Jump to navigation
Jump to search
imported>Vswe m (Added Search Terms) |
imported>QQuix m (Typo) |
||
Line 14: | Line 14: | ||
*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 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 | *Interrupt packages that implicate a [[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: | :Example: |
Latest revision as of 08:02, 23 November 2008
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 a 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.