Page 1 sur 1

[SCRIPT] Placer un objet dans l'équipement et déplacer l'existant dans le sac à dos

Posté : jeu. 27 nov. 2014, 22:35
par Cocrane
Je désire ajouter un objet 'anneau' au Charname qui se place directement sur le slot 'anneau1'.

Si l'emplacement est occupé par un objet alors l'objet en question est déplacé dans l'inventaire.

J'ai consulté les mots clés liés aux objets.

1- L'emplacement anneau1 est il occupé par objet et si oui quel est son nom?

Je ne vois pas de mot clé testant répondant à ces questions mais un test sur un nom d'object spécifique:
0x40B2 HasItemSlot(O:Object*,I:Slot*SLOTS)
NT Returns true only if the specified object has an item in the specified slot. This trigger does not work for Melf's Minute Meteors.
Ca me semble compliqué de tester l'ensemble des objets de type anneau. ^^

Qui a une info sur le sujet ?


2- Comment déplacer l'objet présent dans l'anneau1 dans le sac à dos?

Je ne vois pas de mots clés de déplacement dans ce sens.

J'envisage de supprimer l'objet et de le créer pour qu'il se place dans l'équipement en automatique. Le problème est qu'il me faut le nom de
l'objet qui est sur l'emplacement anneau1.


suppression de l'objet
116 TakePartyItem(S:Item*)
This action takes a single instance of the specified item from the party (unless the item exists in a stack, in which case the entire stack is taken). Characters are checked in current party order. The item is transferred to the inventory of the active creature. If there are multiple calls to TakePartyItem() in the same block, each with the same item specified, only one call will actually remove an item (on each execution of the block). If an item is found in a container on an earlier player and in the inventory of a later player, both item instances may be removed. All slots are checked; inventory slots are checked in the following order


0, 2, 4, 6, 8, 10, 12, 14
1, 3, 5, 7, 9, 11, 13, 15

The example is from AR0516.bcs.

Code : Tout sélectionner

  IF
    Global("ThrallOrb","GLOBAL",2)
    PartyHasItem("MISC7Y")
  THEN
    RESPONSE #100
      TakePartyItem("MISC7Y")
  END
/

Ajout de l'objet dans le sac à dos
82 CreateItem(S:ResRef*,I:Usage1*,I:Usage2*,I:Usage3*)
This action creates the specified item (resref) on the active creature. The usage parameters determine the number of items created or the number of charges on the item, depending on the item type being created. The example script is from AR0602.
ou
140 GiveItemCreate(S:ResRef*,O:Object*,I:Usage1*,I:Usage2*,I:Usage3*)
This action creates the item specified by the resref parameter on the creature specified by the object parameter, with quantity/charges controlled by the usage parameters.

Code : Tout sélectionner

  IF
    GlobalTimerExpired("dwVith","GLOBAL")
    Global("dwVithal","GLOBAL",3)
  THEN
    RESPONSE #100
      CreateVisualEffectObject("SPPLANAR","udvith")
      Wait(2)
      Activate("udvith")
      GiveItemCreate("scrl8z","udvith",1,1,0)
      GiveItemCreate("scrl9g","udvith",1,1,0)
      GiveItemCreate("scrl9e","udvith",1,1,0)
      GiveItemCreate("scrl9v","udvith",1,1,0)
      GiveItemCreate("scrl9r","udvith",1,1,0)
      SetGlobal("dwVithal","GLOBAL",4)
  END
ou

remplacement de l'objet dont le nom est connu par l'objet anneau:

278 TakeItemReplace(S:Give*,S:Take*,O:Object*)
This action replaces the item in second parameter with the item in first parameter. If the target does not have the item in the second parameter, the item in the first parameter will still be created in the inventory. Note that this action will not automatically equip the item that's created.

3- Ajouter l'anneau sur le slot anneau1

Je ne vois pas de mot clé pour placer un objet sur un emplacement particulier.