TESCS2 : GetIsCurrentPackage

De Wiwiki
Aller à la navigation Aller à la recherche


Syntaxe :

[ActorID.]GetIsCurrentPackage PackageID 

Exemple :

GetIsCurrentPackage AnvilGuardPatrolDay8x7

Rends 1 si l'acteur est en train d'exécuter un package du type, sinon 0.


Notes:

  • Cela fonctionne s'il n'y a pas de package interrompant le package actif.
  • Les packages interruptifs qui remplacent le package courant par le combat, la fuite (y compris la détection d'un crime et la réaction) n'affectent pas le résultat de cette Si un acteur exécute myPackage et se met à combatre, GetIsCurrentPackage MyPackage vaut 1.
  • Les packages interruptifs qui impliquent Follow Package (Ex; : initialisation d'un dialogue, poursuite d'un intru) deviennent le nouveau package actif jusqu'à ce qu'ils se terminent, et donc GetIsCurrentPackage MyPackage retournera la valeur 0. Si vous voulez être surs qu'un package n'est pas actif, il faut également tester l'AI Procedure.
Exemple:
if getIsCurrentPackage MyPackage == 0 
  message "MyPackage n'est pas actif"
endif
Si le package My package est lancé, puis que l'acteur suit un intru ou initie un dialogue, le message "MyPackage n'est pas actif" s'affiche, même si "Mypackage" est réellement le package actif.
if getIsCurrentPackage MyPackage == 0 
  if  getCurrentAIProcedure != 4 && getCurrentAIProcedure != 15
    message "MyPackage is not active"
  endif
endif
Maintenant le message s'afiche si le package n'est pas actif et que l'acteur est ni en train d'initier un dialogue, ni de poursuivre un intru.

Voir également