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

De Wiwiki
Aller à la navigation Aller à la recherche
(Page créée avec « La fonction '''AddItem''' rajoute un objet dans l'inventaire de l'acteur ou du container sélectionné. ===Syntaxe=== La syntaxe correcte pour cette fonction est : "id_acte... »)
 
m (Liens dans l'exemple de script)
 
(2 versions intermédiaires par un autre utilisateur non affichées)
Ligne 1 : Ligne 1 :
La fonction '''AddItem''' rajoute un objet dans l'inventaire de l'acteur ou du container sélectionné.
[[Catégorie:TESCS : Liste des commandes de script|AddItem]]
 
La fonction '''AddItem''' rajoute un ou plusieurs objets dans l'inventaire de l'acteur ou du container sélectionné.


===Syntaxe===
===Syntaxe===
Ligne 8 : Ligne 10 :
===Exemple d'utilisation===
===Exemple d'utilisation===
Voici un exemple d'utilisation : si le joueur parle au PNJ cible du script, ce PNJ va donner 200 pièces d'or au joueur.
Voici un exemple d'utilisation : si le joueur parle au PNJ cible du script, ce PNJ va donner 200 pièces d'or au joueur.
  Begin Don_de_pièces
  [[TESCS : Begin|Begin]] Don_de_pièces
   
   
  Short doonce
  [[TESCS : Short|Short]] doonce
   
   
  If ( OnActivate == 1 )
  [[TESCS : If|If]] ( OnActivate == 1 )
   If ( doonce == 0 )
   [[TESCS : If|If]] ( doonce == 0 )
   Player -> AddItem "gold_001" 200
   Player->'''AddItem''' "gold_001" 200
   Activate
   [[TESCS : Activate|Activate]]
   Set doonce to 1
   [[TESCS : Set|Set]] doonce to 1
   Endif
   [[TESCS : Endif|Endif]]
  Endif
  [[TESCS : Endif|Endif]]
   
  [[TESCS : End|End]]
End
La première fois que le joueur active le PNJ, on ajoute 200 objets "gold_001" (pièces d'or) dans l'inventaire du joueur. Grâce à la variable '''doonce''', on ne peut pas soutirer de folles sommes au PNJ, il ne donne les 200 pièces d'or qu'une seule fois.
La première fois que le joueur active le PNJ, on ajoute 200 objets "gold_001" (pièces d'or) dans l'inventaire du joueur. Grâce à la variable '''doonce''', on ne peut pas soutirer de folles sommes au PNJ, il ne donne les 200 pièces d'or qu'une seule fois.
===Notes :===
* D'après MSfD, Additem admet des variables en argument, mais seulement dans les résultats de dialogues et si la variable utilisée n'est pas modifiée dans le même résultat de dialogue.
* Cette commande est la seule façon d'affecter une référence dans une cellule encore non visitée, au contraire des commandes de type ''Set<attribut>'', ''Mod<attribut>'', qui ne fonctionnent pas dans ce cas.
===Voir également ===
* [[TESCS : Scripting]]

Version actuelle datée du 25 octobre 2010 à 16:54


La fonction AddItem rajoute un ou plusieurs objets dans l'inventaire de l'acteur ou du container sélectionné.

Syntaxe

La syntaxe correcte pour cette fonction est :

"id_acteur_ou_container" -> AddItem, "id_objet", "nombre_d'objets"

On indique d'abord le destinataire, acteur ou container, puis la traditionnelle flèche suivie de la fonction, de l'ID de l'objet à ajouter, et enfin de la quantité d'objets à ajouter. A noter que le passage "id_acteur_ou_container" -> n'est pas obligatoire pour rajouter un objet à un acteur/container dans un script local attaché à cet acteur/container.

Exemple d'utilisation

Voici un exemple d'utilisation : si le joueur parle au PNJ cible du script, ce PNJ va donner 200 pièces d'or au joueur.

Begin Don_de_pièces

Short doonce

If ( OnActivate == 1 )
 If ( doonce == 0 )
  Player->AddItem "gold_001" 200
  Activate
  Set doonce to 1
 Endif
Endif
End

La première fois que le joueur active le PNJ, on ajoute 200 objets "gold_001" (pièces d'or) dans l'inventaire du joueur. Grâce à la variable doonce, on ne peut pas soutirer de folles sommes au PNJ, il ne donne les 200 pièces d'or qu'une seule fois.


Notes :

  • D'après MSfD, Additem admet des variables en argument, mais seulement dans les résultats de dialogues et si la variable utilisée n'est pas modifiée dans le même résultat de dialogue.
  • Cette commande est la seule façon d'affecter une référence dans une cellule encore non visitée, au contraire des commandes de type Set<attribut>, Mod<attribut>, qui ne fonctionnent pas dans ce cas.

Voir également