Affichage des résultats 1 à 7 sur 7

Discussion: [SCRIPT] Décalage dans le temps à l'arrivée dans une carte

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

    [SCRIPT] Décalage dans le temps à l'arrivée dans une carte

    Le Charname arrive dans une carte.

    Certaines créatures sont censés ne plus être là ou au contraire apparaitre.

    Le script est soit lié à la map ou la créature.

    J'observe en général un décalage d'une à deux secondes. Du coup, on a le temps de voir la créature avant qu'elle disparaisse.

    Le moteur du jeu a trop de choses à faire?

  2. #2
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 209
    Ça dépend de l'emplacement de ton code de "suppression" des créatures.

    Tu peux les poster pour avoir une réponse plus détaillée ?
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  3. #3
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Script d'une créature

    DEBUT

    // Gestion du compteur pour savoir si la compagnie est éliminée
    IF
    die()
    GLOBAL("QG_GA_attaque","GLOBAL",1)
    THEN
    RESPONSE #100
    IncrementGlobal("compteur_GA_mort","GLOBAL",1)
    END

    // Confrérie éliminée: il n'y a plus de mages dans la cité
    IF
    GLOBAL("GA_eliminee","GLOBAL",1)
    !ActuallyInCombat()
    THEN
    RESPONSE #100
    destroyself()
    END

    ETC...
    FIN

    J'ai p.e une piste, 95% de mes variables sont en mode "GLOBALE". Le moteur du jeu teste p.e beaucoup trop de variables et du coup ça le ralenti?

  4. #4
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 209
    Non, ça n'a rien à voir.

    Imaginons que tu veuilles supprimer le perso X présent dans la carte Y.

    Quand tu entres dans la carte Y, le moteur charge toutes les données de la carte, puis applique les scripts des persos. Donc il y a forcément un moment où tu verras ce perso s'il est à portée de vue. C'est ce qui arrive à Yoshimo à la Couronne de Cuivre.

    Dans ton cas, utilise une variable globale "TousMorts", puis ajoute au début du script de la carte Y :

    Code:
    IF
      Global("TousMorts","GLOBAL",1)
      Global("TousMorts","Y",0)
    THEN
      RESPONSE #100
        ActionOverride("X",DestroySelf())
        SetGlobal ("TousMorts",Y",1)
    END
    Normalement, le script est lancé au moment où la carte est chargée et tu ne devrais pas voir la créature disparaitre.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  5. #5
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Si j'utilise le code avec la variable tous morts, le destroyself() va provoquer la mort d'une seule créature parmi celles qui portent ce nom.

    Si on enlève SetGlobal ("TousMorts",Y",1), le block va tourner en boucle et là je pense que toutes les créatures vont disparaitre. Mais on aura un bou de script qui tourne en continu.

    Autre possibilité:
    on arrive sur la carte
    écran noir pendant deux secondes, le temps de permettre au jeu de traiter tous les scripts créatures.

  6. #6
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 209
    Tu as essayé avec deux créatures portant la même variable de mort (Death variable) ?
    Avec le bloc de script au tout début du script de la carte.
    Dernière modification par Freddy_Gwendo ; 03/04/2016 à 11h55.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  7. #7
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Oui.

    En général, j'ai deux cas:
    - il y a une créature de BG1 que je ne veux plus voir lorsque l'on joue à mon mod (cas d'un joueur qui joue à mon mod avec sans rejouer tout BG1)
    - membres de la compagnie de mercenaires où la compagnie est éliminée au global. Les survivants ont quitté les différentes cartes où ils étaient.

    Dans les deux cas, en général j'ai le temps de les voir.

    L'écran noir en cas d'init (suppression des créatures de BG1) me parait une bonne solution.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/03/2016, 09h48
  2. Réponses: 2
    Dernier message: 09/06/2015, 22h27
  3. Réponses: 0
    Dernier message: 27/11/2014, 21h35
  4. Réponses: 3
    Dernier message: 14/03/2013, 18h11
  5. [CARTES] Comment intégrer de nouveaux éléments graphiques dans une carte ?
    Par Marxo dans le forum Cartes et Cartes du monde
    Réponses: 10
    Dernier message: 22/10/2007, 20h44

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