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

De Wiwiki
Aller à la navigation Aller à la recherche
m
m (Liens dans l'exemple de script)
 
Ligne 10 : 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]]
  End
  [[TESCS : 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.


Ligne 28 : Ligne 28 :
* 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.
* 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<attribute>'', ''Mod<attribute>'', qui ne fonctionnent pas dans ce cas.
* 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 ===
===Voir également ===
* [[TESCS : Scripting]]
* [[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