Affichage des résultats 1 à 6 sur 6

Discussion: [SCRIPT] Comment lancer aléatoirement un sort ?

  1. #1
    Date d'inscription
    December 2007
    Localisation
    Dordogne
    Messages
    1 141

    [SCRIPT] Comment lancer aléatoirement un sort ?

    Je tente d’améliorer un script de combat qui a présenté quelques soucis en jeu en ayant recours au script multiples. Sur ce modèle :

    Code:
    IF
      See(NearestEnemyOf(Myself))
      OR(2)
        HaveSpell(CLERIC_MENTAL_DOMINATION)
        HaveSpell(WIZARD_HOLD_MONSTER)
      Global("#VPeaudecorce","LOCALS",1)
      OR(2)
        Global("#VImmoMonstres","LOCALS",0)
        Global("#VImmoMonstres","LOCALS",1)
      OR(2)
        Global("#VDominMental","LOCALS",0)
        Global("#VDominMental","LOCALS",1)
      !StateCheck(LastSeenBy(Myself),STATE_HELPLESS)
    THEN
      RESPONSE #100
        IncrementGlobal("#VImmoMonstres","LOCALS",1)
        Spell(NearestEnemyOf(Myself),WIZARD_HOLD_MONSTER)
      RESPONSE #100
        IncrementGlobal("#VDominMental","LOCALS",1)
        Spell(NearestEnemyOf(Myself),CLERIC_MENTAL_DOMINATION)
    END

    Ici je vérifie si j'ai deux sorts qui sont "domination mentale" et "immobilisation des monstres" et si j'ai un des deux je vais lancer soit l'un soit l'autre.
    Ma question serait de savoir si jamais je n'ai pas l'un des sorts le bloc le concernant risque de se déclencher tout de même non ? Y aurait-il un moyen de déclencher des sorts de manière aléatoire comme ceci en empêchant les sorts non disponibles de se déclencher ?
    Dernière modification par Freddy_Gwendo ; 03/04/2016 à 01h49. Motif: Modification du titre de la discussion et mise en page

    http://toutlemondesontrolistes.blogs...nitiation.html
    Ancien moddeur pour bg2, critique sur la sphère roliste et gamedesigner en herbe

  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 633
    Comme Spell exige d'avoir le sort mémorisé, ton bloc a une chance sur deux de ne rien faire si le personnage n'a que l'un des deux sorts. L'usage du Or(2) sur les HaveSpell fait qu'il pourras passer les conditions et tomber aléatoirement sur le sort que le personnage n'a pas. Ce serait sans doute une action de perdue dans le combat.

    A ma connaissance, il n'existe pas de solution élégante pour ce que tu veux faire. Je pense que le seul moyen est d'écrire de la façon suivante :
    J'ai les deux sorts : je choisis aléatoirement
    J'ai le sort 1 : je le lance
    J'ai le sort 2 : je le lance
    Peu disponible
    Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
    Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !

  3. #3
    Date d'inscription
    December 2007
    Localisation
    Dordogne
    Messages
    1 141
    Comme Spell exige d'avoir le sort mémorisé, ton bloc a une chance sur deux de ne rien faire si le personnage n'a que l'un des deux sorts. L'usage du Or(2) sur les HaveSpell fait qu'il pourras passer les conditions et tomber aléatoirement sur le sort que le personnage n'a pas. Ce serait sans doute une action de perdue dans le combat.
    Oui c'est bien ce que je craignais malheureusement le moteur n'est pes assez intelligent pour skipper un sort qui n'existe pas.


    A ma connaissance, il n'existe pas de solution élégante pour ce que tu veux faire. Je pense que le seul moyen est d'écrire de la façon suivante :
    J'ai les deux sorts : je choisis aléatoirement
    J'ai le sort 1 : je le lance
    J'ai le sort 2 : je le lance
    Oui la solution est pas conne en dupliquant plusieurs scripts sur ce modèle on arrive à des résultats intéressants. Ce n'est pas la solution la plus légère oui mais ça fonctionne.

    http://toutlemondesontrolistes.blogs...nitiation.html
    Ancien moddeur pour bg2, critique sur la sphère roliste et gamedesigner en herbe

  4. #4
    Date d'inscription
    December 2007
    Localisation
    GAP, Hautes alpes
    Messages
    1 771
    Si tu veux être sur de ne lancer qu’un seul des deux sorts, pourquoi ne pas faire ceci :

    Si valeur =0
    Si j'ai le sort A
    Si je vois l'ennemi
    =
    Lancer sort A
    Mettre valeur à 1

    Si valeur =0
    Si j'ai le sort B
    Si je vois l'ennemi
    =
    Lancer sort B
    Mettre valeur à 1

    où la valeur est unique et correspond à ce sort (tu peut en rajouter une autre pour un autre usage).

    Comme ça rien n'est lancé si aucun des sorts n'est mémorisé, et seulement le A si les deux sont mémorisés. Sinon seulement celui qui est mémorisé.
    Après avoir trié 150 Go de pdfs, une conclusion s'impose... D&D 5, c'est vraiment de la grosse m....

  5. #5
    Date d'inscription
    December 2007
    Localisation
    Dordogne
    Messages
    1 141
    Oui j'ai plus ou moins suivi ce modéle en adaptant un peu les indications d'isaya. Comme je l'ai dit plus haut ça a tendance à multiplier les blocs mais c'est efficace.

    http://toutlemondesontrolistes.blogs...nitiation.html
    Ancien moddeur pour bg2, critique sur la sphère roliste et gamedesigner en herbe

  6. #6
    Date d'inscription
    December 2007
    Localisation
    GAP, Hautes alpes
    Messages
    1 771
    Citation Envoyé par Armand Voir le message
    Oui j'ai plus ou moins suivi ce modéle en adaptant un peu les indications d'isaya. Comme je l'ai dit plus haut ça a tendance à multiplier les blocs mais c'est efficace.
    Note : au script type que je t'ai indiqué, tu peux rajouter un troisième bloc :
    Si valeur est à 1
    Si j'ai le sort B
    Si monstre n'est pas sous l’effet du sort A
    =
    lancer le sort B
    Mettre la valeur à 2

    Ainsi, si il a les 2 sorts, il lance le A, et si l'ennemi y résiste, il lance le B

    note : il faut rajouter un petit "wait" après le lancement de A dans le premier bloc du script que j'ai proposé pour que l'effet du sort s'applique avant la vérification par le 3eme bloc.
    Après avoir trié 150 Go de pdfs, une conclusion s'impose... D&D 5, c'est vraiment de la grosse m....

Discussions similaires

  1. [IWD2][TECH] Multiples ralentissements
    Par Solaufein Khalazza dans le forum Le Monastère du Corbeau Noir (Icewind Dale 2)
    Réponses: 4
    Dernier message: 18/09/2015, 09h11
  2. [KOTOR] Combat, Dons et Compétences : Fonctionnement du jeu
    Par Smidge dans le forum Knights of the Old Republic
    Réponses: 2
    Dernier message: 01/05/2011, 21h15
  3. [SCS] Plantages multiples
    Par Takotsuobo dans le forum Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy
    Réponses: 3
    Dernier message: 07/09/2010, 21h24
  4. Aide pour comprendre le fonctionnement des mods
    Par passfreeze dans le forum Le Bazar de l'Aventurier
    Réponses: 3
    Dernier message: 29/03/2009, 21h40
  5. [BG1][SOLUCE] Multiples questions
    Par Lordsiurd dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 6
    Dernier message: 17/12/2008, 18h22

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