Différences entre les versions de « TESCS : HasItemEquipped »
(Ajout article) |
(Exemple + correction mineure) |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:TESCS : Liste des commandes de script|HasItemEquipped]] | [[Catégorie:TESCS : Liste des commandes de script|HasItemEquipped]] | ||
HasItemEquipped | '''HasItemEquipped''' permet de savoir si le joueur porte en ce moment un objet défini. | ||
===Syntaxe=== | ===Syntaxe=== | ||
La syntaxe correcte pour cette fonction est : | |||
''reference''->'''HasItemEquipped''' "''objet_id''" | |||
Dans une boucle [[TESCS : If|If]], cette fonction renverra 1 si l'acteur ''reference'' porte (a équipé) l'objet ''objet_id'', et renverra 0 dans le cas contraire. | |||
''' | ===Exemple d'utilisation=== | ||
Voici un exemple d'utilisation : si le joueur n'a pas équipé son magnifique ''ClubDeGolf'', une messageBox l'en informe toutes les 10 secondes. | |||
[[TESCS : Begin|Begin]] ClubDeGolf | |||
[[TESCS : Float|Float]] Timer | |||
[[TESCS : If|If]] ( MenuMode ) | |||
[[TESCS : Return|Return]] | |||
[[TESCS : Endif|Endif]] | |||
[[TESCS : If|If]] ( Player->'''HasItemEquipped''' "ClubDeGolf" == 0 ) | |||
[[TESCS : If|If]] ( Timer < 10 ) | |||
[[TESCS : Set|Set]] Timer to ( Timer + GetSecondsPassed ) | |||
[[TESCS : Return|Return]] | |||
[[TESCS : Endif|Endif]] | |||
[[TESCS : MessageBox|MessageBox]] "Équipez immédiatement votre MAGNIFIQUE club de golf !", "Ok" | |||
[[TESCS : Set|Set]] Timer to 0 | |||
[[TESCS : Endif|Endif]] | |||
[[TESCS : End|End]] | |||
Si le joueur n'a pas équipé le Club de Golf (''Player->HasItemEquipped "ClubDeGolf" == 0''), on déclenche une MessageBox (''MessageBox "[...]", "Ok"'') toutes les 10 secondes (''If ( Timer < 10 ) [...] Return ''). Si l'on est en mode menu (''If ( MenuMode )''), c'est que le joueur va probablement équiper ce club ; on interrompt donc le script et, avec lui, le timer (''Return''). | |||
=== | ===Notes=== | ||
* '''HasItemEquipped''' n'est documenté qu'avec Tribunal, cependant il semblerait que cette fonction soit parfaitement opérationnelle avec Morrowind seul. Cela a été confirmé par certains mods (notamment ''Vampire Realism'' de Jaxalot, qui utilise cette fonction mais n'est pas Tribunal requis). | |||
HasItemEquipped n'est documenté qu'avec Tribunal, cependant il semblerait que cette fonction soit parfaitement opérationnelle avec Morrowind seul. | |||
===Voir également=== | ===Voir également=== | ||
* [[TESCS : Scripting]] | * [[TESCS : Scripting]] | ||
* [[TESCS : GetArmorType]] | |||
* [[TESCS : GetWeaponType]] |
Version actuelle datée du 26 octobre 2010 à 17:04
HasItemEquipped permet de savoir si le joueur porte en ce moment un objet défini.
Syntaxe
La syntaxe correcte pour cette fonction est :
reference->HasItemEquipped "objet_id"
Dans une boucle If, cette fonction renverra 1 si l'acteur reference porte (a équipé) l'objet objet_id, et renverra 0 dans le cas contraire.
Exemple d'utilisation
Voici un exemple d'utilisation : si le joueur n'a pas équipé son magnifique ClubDeGolf, une messageBox l'en informe toutes les 10 secondes.
Begin ClubDeGolf Float Timer If ( MenuMode ) Return Endif If ( Player->HasItemEquipped "ClubDeGolf" == 0 ) If ( Timer < 10 ) Set Timer to ( Timer + GetSecondsPassed ) Return Endif MessageBox "Équipez immédiatement votre MAGNIFIQUE club de golf !", "Ok" Set Timer to 0 Endif End
Si le joueur n'a pas équipé le Club de Golf (Player->HasItemEquipped "ClubDeGolf" == 0), on déclenche une MessageBox (MessageBox "[...]", "Ok") toutes les 10 secondes (If ( Timer < 10 ) [...] Return ). Si l'on est en mode menu (If ( MenuMode )), c'est que le joueur va probablement équiper ce club ; on interrompt donc le script et, avec lui, le timer (Return).
Notes
- HasItemEquipped n'est documenté qu'avec Tribunal, cependant il semblerait que cette fonction soit parfaitement opérationnelle avec Morrowind seul. Cela a été confirmé par certains mods (notamment Vampire Realism de Jaxalot, qui utilise cette fonction mais n'est pas Tribunal requis).