Différences entre les versions de « TESCS : HasItemEquipped »

De Wiwiki
Aller à la navigation Aller à la recherche
(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 retourne 1 si l'acteur concerné tient l'objet appelé équipé, et 0 sinon.
'''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.


   '''ref ->HasItemEquipped objet_id'''
===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'').


===Exemples===
===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).
 
===Remarques===
 
HasItemEquipped n'est documenté qu'avec Tribunal, cependant il semblerait que cette fonction soit parfaitement opérationnelle avec Morrowind seul.
Exemple : l'empalement des vampires dans Vampire Realism de Jaxalot (mod qui n'est pas Tribunal requis)


===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).

Voir également