Difference between revisions of "GetIsCurrentPackage"
Jump to navigation
Jump to search
imported>Fella |
imported>Vswe m (Added Search Terms) |
||
Line 42: | Line 42: | ||
[[Category: Condition Functions]] | [[Category: Condition Functions]] | ||
[[Category: Condition Functions (CS 1.0)]] | [[Category: Condition Functions (CS 1.0)]] | ||
<!-- Begin Search Terms | |||
Get | |||
Is | |||
Cuttent | |||
Package | |||
End Search Terms --> |
Revision as of 08:58, 20 June 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 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.