Affichage des résultats 1 à 4 sur 4

Discussion: [SCRIPT] Comment cumuler les pouvoirs de deux objets ?

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

    [SCRIPT] Comment cumuler les pouvoirs de deux objets ?

    Je prends un exemple:

    l'objet A a un pouvoir magique appelé A. Idem pour B.

    Si l'objet A et B sont sur le même porteur alors le pouvoir de l'un des deux objets augmente de pouvoir.

    Si l'un des deux objets est retiré de son emplacement, l'augmentation est perdue.

    Pour moi, le test est a réaliser lorsque l'on touche à l'équipement.
    Existe il des mots clés pour traiter ce besoin?

    Cocrane
    Dernière modification par Freddy_Gwendo ; 09/04/2016 à 15h10. Motif: Modification du titre de la discussion

  2. #2
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 414
    Désolé, j'avais complètement oublié de te répondre.

    En fait, j'avais oublié d'aller chercher dans les archives de mon mod comment j'avais effectué la manip pour un cas similaire.

    En faisant le ménage sur mon DD, j'ai retrouvé les scripts.

    Dans mon cas, le principe était le suivant (mais tu peux l'adapter au tien) :

    Si <CHARNAME> est équipé d'un anneau et d'une amulette particuliers (chacun des deux lui accordant un pouvoir par jour), une cinématique se produit faisant "se fondre" les deux objets en un insigne.
    Cet insigne cumule les propriétés d'équipement de l'anneau et de l'amulette. De plus, <CHARNAME> reçoit une capacité "divine" qu'il peut lancer une fois par jour. Cette capacité est traitée comme une capacité de haut niveau et n'est donc pas liée à l'insigne.

    Par ailleurs, si <CHARNAME> est équipé d'une certaine armure, d'un certain casque et de certains gantelets, une autre cinématique lui retire ces objets et les remplace par une toute nouvelle armure.


    Dans tous les cas, tout est géré par des scripts. Le but du jeu est de créer l'anneau, l'amulette, l'armure, le casque, les gants, l'insigne et une autre armure et d'effectuer un test :

    Code:
    IF
      Class(Player1,PALADIN_ALL) // Tests sur la classe : réservé aux paladins
      !FallenPaladin(Player1)
      Gender(Player1,FEMALE)  // Tests sur le sexe : réservé aux femmes
      !Global("GWSolNon","GLOBAL",1)  // Tests sur la campagne : on a accepté la mission.
      Global("GWFemPla","GLOBAL",0)
      !See([ENEMY])
      CombatCounter(0)
      HasItemEquipedReal("GWPlate",Player1) // Test sur l'équipement de l'armure
    THEN
      RESPONSE #100
        SetGlobal("GWFemPla","GLOBAL",1)
        Wait(30) //15
        StartCutSceneMode()
        CutSceneId(Player1)
        ClearAllActions()
        SetInterrupt(FALSE)
        Wait(2)
        CreateVisualEffectObject("GWArmor1",Player1)
        Wait(6)
        DisplayStringWait(Player1,@4211) // À nouveau, vous sentez ces frissons si familiers parcourir votre corps… Vous avez la nette impression de disposer de nouveaux pouvoirs. Il s'agit maintenant de s'en montrer digne car rares sont celles qui ont eu l'honneur de bénéficier des largesses de Gwendolyne.
        ActionOverride(Player1,AddSpecialAbility("SPCL001")) // Apposition des mains
        ActionOverride(Player1,AddSpecialAbility("SPCL002")) // Cantique
        Wait(6) // SmallWait(6)
        SetInterrupt(TRUE)
        EndCutSceneMode()
    END
    Code:
    IF
      Global("GWFemPla","GLOBAL",1) // Armure découverte
      Global("GWFemHel","GLOBAL",1) // Casque découvert
      Global("GWFemGan","GLOBAL",1) // Gants découverts
      Global("GWFemEqu","GLOBAL",0)
      HasItemEquipedReal("GWPlate",Player1)
      HasItemEquipedReal("GWHelm",Player1)
      HasItemEquipedReal("GWGants",Player1)
    THEN
      RESPONSE #100
        SetGlobal("GWFemEqu","GLOBAL",1)
        Wait(30)
        StartCutSceneMode()
        CutSceneId(Player1)
        ClearAllActions()
        SetInterrupt(FALSE)
        Wait(3)
        CreateVisualEffectObject("SPHOLY",Player1)
        Wait(8)
        PlaySound("ACT_06")
        TakePartyItem("GWPLATE")
        DestroyItem("GWPLATE")
        TakePartyItem("GWGANTS")
        DestroyItem("GWGANTS")
        TakePartyItem("GWHELM")
        DestroyItem("GWHELM")
        GiveItemCreate("GWPlate1",Player1,1,1,1)
        DisplayStringWait(Player1,@4213)
        SmallWait(12)
        Wait(5)
        ForceSpell(Player1,GAIN_ONE_STR_PERMANENT)
        Wait(2)
        DisplayStringWait(Player1,11335) // La Force a été augmentée de 1 point de façon permanente
        Wait(2)
        ForceSpell(Player1,GAIN_ONE_CON_PERMANENT)
        Wait(2)
        DisplayStringWait(Player1,11334)
        Wait(2)
        ForceSpell(Player1,GAIN_ONE_WIS_PERMANENT)
        Wait(2)
        DisplayStringWait(Player1,11338)
        Wait(2)
        ForceSpell(Player1,GAIN_ONE_CHA_PERMANENT)
        Wait(2)
        DisplayStringWait(Player1,11339)
        Wait(2)
        ForceSpell(Player1,GAIN_ONE_DEX_PERMANENT)
        Wait(2)
        DisplayStringWait(Player1,11336)
        Wait(2)
        ForceSpell(Player1,GAIN_ONE_INT_PERMANENT)
        Wait(2)
        DisplayStringWait(Player1,11337)
        Wait(2)
        SetInterrupt(TRUE)
        EndCutSceneMode()
    END

    Tout ceci n'est qu'une indication, mais le principe reste le même : dans un script, tu vérifies que tel perso est équipé des éléments concernés et tu lui appliques certaines modifs, lui retire son équipement et le remplace par un nouveau.
    Tu fais la même chose si ton perso perd ou retire son équipement.

    Je l'avais testé dans Baldur.bcs et Baldur25.bcs : ça fonctionne très bien. Me restait juste à le transférer dans les fichiers Player.bcs adéquats pour éviter de surcharger le script original du jeu.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  3. #3
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    995
    Merci Freddy,
    ca correspond complètement à l'un de mes besoins.

    Reste plus qu'à l'adapter.

    Cocrane

  4. #4
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 414
    De rien.

    N'hésite pas si tu as d'autres questions.

    L'avantage d'un projet pharaonique, c'est que l'on est obligé de toucher un peu à tout, parfois avec succès. Mais trop souvent, on s'aperçoit que certaines opérations sont quasi impossibles à réaliser.
    Si ça peut te permettre de gagner du temps, c'est tout bénéf...

    Ceci dit, depuis le temps et avec les modifications de l'exécutable par ToBEX, je reprends régulièrement certains éléments abandonnés pour essayer de les réaliser.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

Discussions similaires

  1. [TOB] Problème pour créer des objets avec la CLUAConsole
    Par rame13 dans le forum La Taverne d'Amkethran (Baldur's Gate 2)
    Réponses: 13
    Dernier message: 21/06/2009, 15h32
  2. Le cumul des mandats
    Par Duo dans le forum Les Archives du Comptoir
    Réponses: 27
    Dernier message: 11/06/2007, 14h41
  3. [EASE] Cumul armures/objets magiques
    Par Monstrapoil dans le forum Le Bazar de l'Aventurier
    Réponses: 7
    Dernier message: 03/04/2006, 10h41
  4. Editer des objets avec le Dltcep
    Par Ram Abbalah dans le forum Le Monastère du Corbeau Noir (Icewind Dale 2)
    Réponses: 14
    Dernier message: 19/01/2005, 10h31

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