Affichage des résultats 1 à 7 sur 7

Discussion: [SCRIPT] Ajouter un objet dans un slot d'équipement d'un PNJ

  1. #1
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    995

    [SCRIPT] Ajouter un objet dans un slot d'équipement d'un PNJ

    Je désire ajouter un objetà un personnage de mon mod. Via la console, je prends ce PNJ dans mon groupe et je constate que l'objet n'est pas là.

    Script sur la carte de départ de BG1
    Code:
    IF   
       GLOBAL("TEST","GLOBAL",0)
    THEN
       RESPONSE #100 
         SETGLOBAL("TEST","GLOBAL",1) // pour ne pas tourner en boucle
    
         createcreature("FLAMGD",[1100.650],2)   // Ca marche
       //ActionOverride("FLAMGD",joinparty())    // Ca marche pas
         ActionOverride("FLAMGD",CreateItem("MISC47",0,0,0))    // Ca marche pas
       //ActionOverride(PLAYER1,CreateItem("MISC47",0,0,0))  // Ca marche
    END
    idem, si j'active la ligne joinparty() dans l'override, Le pnj n'est pas dans le groupe alors que je suis seul dans mon groupe.
    Si j'active la ligne avec l'ajout de l'objet au Charname, ça marche.

    Quel est le problème?
    C'est lié à la créature que j'ai crée?

    Je viens de faire un autre test. J'ai pris une créature au hasard dans l'override "yssold16" qui n'appartient pas à mon mod et je remplace "FLAMGD" . La créature fait parti de mon groupe mais je n'ai pas l'objet en plus dans l'équipement...

    Un cheveux de perdu!
    Dernière modification par Freddy_Gwendo ; 03/04/2016 à 14h04. Motif: Modification du titre de la discussion et mise en page

  2. #2
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    995
    Je relance le sujet.

    Qui a une idée sur l'origine du problème?

  3. #3
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    995
    J'ai essayé à nouveau d'avancer sur ce point.

    Je parviens à créer l'objet dans l'équipement d'une créature si le code est écrit deux fois. L'objet est toujours présent et en seul exemplaire. Je ne comprends pas pourquoi une ligne ne suffit pas mais ça marche...

    soit l'exemple de code suivant
    Code:
    CreateItem("AMUL02",0,0,0)
    CreateItem("AMUL02",0,0,0)
    En travaillant sur les pnj de BG1 qui sont recrutables dans mon mod, je suis tombé sur ce bout de code.

    Code:
    IF
      !HasItemEquipedReal("MISC89",Myself)  // Amulette d'Edwin
      PartyHasItem("MISC89")
      !InParty(Myself)
    THEN
      RESPONSE #100
        TakePartyItem("MISC89")
        SmallWait(6)
        FillSlot(SLOT_AMULET)
        SmallWait(6)
        EquipItem("MISC89")
    END
    Visiblement Ça place l'objet de le slot qui convient.

    J'ai cherché à l'utiliser sans succès pour placer un objet de l'équipement dans le bon slot :

    Code:
      CreateItem("AMUL02",0,0,0)
      CreateItem("AMUL02",0,0,0)
      FillSlot(SLOT_AMULET)
      SmallWait(20)
      EquipItem("AMUL02")
    De plus IESDP signale que le mot clé "EquipItem" ne marcherait pas...

    Qui aurait des infos sur le sujet ou serait à l'aise en Anglais pour passer ma demande sur un forum BG autre?
    Dernière modification par Freddy_Gwendo ; 03/04/2016 à 14h03. Motif: Mise en page

  4. #4
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    995
    J'ai trouvé une solution à mon besoin:

    - tirer de manière aléatoire un objet parmi 9 possibles
    - mémoriser l'anneau tiré
    - donner l'objet tiré et le placer au bon endroit dans l'équipement

    Code:
    IF 
       GLOBAL("annProc","GLOBAL",0)
    THEN
         RESPONSE #50
         SETGLOBAL("annProc","GLOBAL",1)
         SETGLOBAL("anneau1","GLOBAL",1) // TIRE
       
         GiveItemCreate("RINGP01",PLAYER1,1,0,0) 
         SmallWait(10)
         ActionOverride(PLAYER1,FillSlot(SLOT_AMULET))
         SmallWait(10)
    
       RESPONSE #50
         SETGLOBAL("annProc","GLOBAL",1)
         SETGLOBAL("anneau2","GLOBAL",1) // TIRE
         GiveItemCreate("RINGP02",PLAYER1,1,0,0) 
         SmallWait(10)
         ActionOverride(PLAYER1,FillSlot(SLOT_RING_RIGHT))
         SmallWait(10)
    
       etc...
    END
    A noter:
    - l'objet à placer peut avoir la propriété déplaçable ou non
    - si il y a déjà un objet à l’emplacement ciblé
    Si il y a de la place, l'objet est placé dans l'équipement qu'il soit déplaçable ou non.
    Si pas de place, le jeu plante.

    J'ai passé un paquet d'heures avant de réussir vu que CREATEITEM fonctionne mal sur ma machine.

    A noter, consulter le code d'autres MOD est vraiment une bonne piste pour trouver une solution rapidement.
    Dernière modification par Freddy_Gwendo ; 03/04/2016 à 14h02.

  5. #5
    Date d'inscription
    February 2011
    Messages
    674
    Citation Envoyé par Cocrane Voir le message
    A noter, consulter le code d'autres MOD est vraiment une bonne piste pour trouver une solution rapidement.
    C'est même carrément la base
    « Pssst. Tu as remarqué comme elle me dévore du regard ? Hein ? Tu as vu ça ? La façon dont elle a regardé la courbe de mon os occipital ? »

  6. #6
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    995
    Je ne fais pas mon mod qu'à partir de la lecture de code existant. Pour moi, c'est utile à partir du moment où tu sais ce que tu cherches.

    Je pars d'IESDP pour voir ce qui existe.

    Maintenant, j'ai pris le réflexe de chercher sur quelques mod comment sont utilisés les mots clés au lieu de coder uniquement par moi même. Effectivement, j'avance plus vite depuis en gros 10 jours.

    Tu as fait un mod? Si oui, lequel?

    CocraneL

  7. #7
    Date d'inscription
    February 2011
    Messages
    674
    Mes activités de moding sur l'Infinity Engine :
    Dernière modification par mirandir ; 20/03/2015 à 08h09.
    « Pssst. Tu as remarqué comme elle me dévore du regard ? Hein ? Tu as vu ça ? La façon dont elle a regardé la courbe de mon os occipital ? »

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/12/2015, 23h25
  2. Réponses: 2
    Dernier message: 09/06/2015, 23h27
  3. [IWD] comment ajouter un don au joueur avec un script ?
    Par Hjollder dans le forum Scripts
    Réponses: 3
    Dernier message: 19/08/2014, 10h20
  4. [SCRIPT] Comment rendre un équipement confisqué ?
    Par Cocrane dans le forum Scripts
    Réponses: 12
    Dernier message: 18/08/2013, 11h38
  5. [ITM] Comment associer un script à un objet ?
    Par Shinook dans le forum Objets et magasins
    Réponses: 9
    Dernier message: 05/11/2005, 16h41

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244