Affichage des résultats 1 à 5 sur 5

Discussion: [EFFET] L'effet #309 (Script: Set/Modify Local Variable) crée deux variables !

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

    [EFFET] L'effet #309 (Script: Set/Modify Local Variable) crée deux variables !

    Je viens de tomber sur un truc bizarre.

    J'utilise cet effet avec "Modifier Type" = 1 ("If the Modifier Type is set to 1, then this effect will be a Modify Local Variable effect.") pour modifier une variable locale du perso qui utilise un objet.

    Tout fonctionne parfaitement : la variable est renseignée, augmentée ou diminuée selon la valeur de la variable.

    Sauf que...

    En allant étudier une sauvegarde, je me suis aperçu que l'effet créait aussi une variable du même nom, mais en GLOBAL. De plus, si j'utilise deux fois l'effet augmentant la variable de 100, la variable locale est effectivement incrémentée de 200, mais la variable globale est égale à 100. En fait, elle se comporte comme si j'avais saisi SetGlogal("Variable";"GLOBAL";valeur) et ne conserve que la valeur du dernier effet lancé.

    Aurais-je loupé une option cachée quelque part ? Pourtant, j'ai vérifié et re-vérifié : rien ne semble clocher dans mon effet.

    A priori, ça n'empêche pas la gestion des variables puisque je ne m'intéresse qu'aux variables locales, mais ça me gonfle de ne pas comprendre pourquoi cette double création (alors qu'il existe l'effet Script: Set Global Variable [265] pour travailler sur les variables globales) ; et surtout de créer des variables globales inutiles.
    Dernière modification par Freddy_Gwendo ; 08/04/2016 à 06h10.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 827
    Le texte descriptif comporte un mot qui est en trop ou qui laisse supposer qu'il manque une partie de la phrase :
    Set both the local variable specified by the resource key to the value specified by the 'Value' field.
    Ce "both" laisser supposer qu'il y a un deuxième élément impacté de la même manière que la variable locale. Qui sait, peut-être une globale ?

    Après un peu d'archéologie, voici ce qu'indiquait IESDP à ses débuts en 2002 :
    It could be modify Local Variable. It is used in SPIN579 with Param #1 set to 1 (i think it's the modifier int, could be + ou -), Param #2 set to 1 (no idea about this one, i have tried 0, 2 and 3 but the spell doesn't work) and the resource is the name of the Local Variable (here KOBAMP_N). The caster is KOBAMP01.CRE, the "receiver" is KOBSOU01.CRE. Check its general script (kobsou01.bcs)
    Ce n'est pas une réponse, mais ça peut t'indiquer un exemple dans le jeu.

    Voici la description de juillet 2005 :
    Parameter #1: Value
    Parameter #2: Modifier Type
    Description:
    Set both the local and global variable specified by the resource key to the value specified by the 'Value' field.

    If the Modifier Type is set to 1, then this effect will be a Modify Local Variable effect.

    NB: Since the Resource Key can only be 8 characters long maximum, you can not set a variable with this Effect this
    has a name longer than this amount.
    You can use the VVC field of external EFF files for an additional 8 characters of variable name.
    You can use the 3rd resource field of EFF files for an additional 8 characters.
    Tiens donc ! On a gagné depuis la distinction entre fixer et incrémenter mais perdu la notion de variable globale. Peut-être que la modification de variable globale ne s'effectue que dans un des deux cas, d'où la suppression de la notion de variable globale.

    Cela dit, j'ai l'impression que la phrase que tu as cité dénote une version un peu ancienne d'IESDP (comme ci-dessus). La plus récente décrit le 1 comme servant à incrémenter la variable tandis que 0 sert à la fixer.
    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
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 645
    Intéressant tout ça !

    Manifestement, cet effet crée deux variables : locale et globale. Ce qui est confirmé par les anciennes définitions.
    En revanche, ça n'explique pas pourquoi avec le même type, les variables locales sont modifiées et les variables globales réinitialisées.

    Par ailleurs, je travaille sur le dernier DLTCEP et il me semble que mes fichiers dat sont à jour...
    Voici la description exacte de l'effet dans DLTCEP :

    Set the local variable specified by the resource key to the value specified by the 'Value' field.

    If the Modifier Type is set to 1, then this effect will be a Modify Local Variable effect.

    NB: Since the Resource Key can only be 8 characters long maximum, you can not set a Local Variable with this Effect this has a name longer than this amount.
    You can use the VVC field of external EFF files for an additional 8 characters of variable name.
    You can use the 3rd resource field of EFF files for an additional 8 characters.
    et dans IESDP :

    Parameter #1: Value
    Parameter #2: Type
    Description:

    Set both the local variable specified by the resource key to the value specified by the 'Value' field.

    Known values for 'Type' are:
    0 Set Local (to 'Value')
    1 Increment Local (by 'Value')

    NB: Since the Resource Key can only be 8 characters long maximum, you can not set a variable with this Effect this has a name longer than this amount.
    You can use the VVC field of external EFF files for an additional 8 characters of variable name.
    You can use the 3rd resource field of EFF files for an additional 8 characters.
    Je vais donc vérifier si j'ai installé les bons fichiers.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  4. #4
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 645
    En farfouillant dans les archives de IESDP, je suis tombé sur ce sujet qui "reprend" mes interrogations sur la double création de variables et la confirme.

    Daté d'avril à juin 2005, il doit expliquer en partie la modification de la description de l'effet que tu as pointée.

    En revanche, toujours rien sur la différence de modification des variables locales et globales...
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  5. #5
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 645
    Pour clore le sujet, j'ai eu confirmation par Argent77 que cet effet provoquait bon nombre d'actions collatérales, dont la création d'une variable globale du même nom.

    Il semble qu'il n'y ait pas grand chose à faire, si ce n'est à bien gérer ses noms de variables pour ne pas foutre le binz dans le codage...

    Sinon, l'effet #185 gère l'action SetGlobal("Variable","LOCALS",valeur), sans création de variable globale, mais ne permet pas de modifier une variable éxistante (l'augmenter ou la diminuer).

    Si ça peut servir....
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

Discussions similaires

  1. [SPL] De l'utilisation de l'effet #67 Creature Summoning
    Par Freddy_Gwendo dans le forum Sorts et projectiles
    Réponses: 3
    Dernier message: 04/04/2016, 22h20
  2. Réponses: 2
    Dernier message: 09/06/2015, 22h27
  3. Réponses: 6
    Dernier message: 20/03/2015, 07h05
  4. [SPL] Paramétrage de l'effet 67 (Summon: Creature Summoning)
    Par Freddy_Gwendo dans le forum Sorts et projectiles
    Réponses: 4
    Dernier message: 03/02/2014, 16h11
  5. Réponses: 5
    Dernier message: 20/12/2008, 13h38

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 245 246 247 248 249 250 251 252 253 254 255 256