Différences entre les versions de « TESCS : AddItem »
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< | * 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.