Affichage des résultats 1 à 4 sur 4

Discussion: [SCRIPT] Comment ne plus pouvoir sortir d'une carte selon des conditions ?

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

    [SCRIPT] Comment ne plus pouvoir sortir d'une carte selon des conditions ?

    Il me semble que pendant un combat, on peut quitter une pièce si tout le monde est réuni.

    J'ai besoin que pendant un combat:
    - suite au lancement d'un sort ennemi, la porte soit fermée, pendant un certain temps.
    - si le groupe essaie de sortir, un message signale qu'un sort bloque l'ouverture de la porte.

    Cocrane
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 20h17. Motif: Modification du titre de la discussion

  2. #2
    Avatar de Haplo74
    Haplo74 est déconnecté Clerc - Entropiste
    Date d'inscription
    April 2012
    Localisation
    Paris
    Messages
    1 732
    Bonjour,

    Avec stratagem, la liche des portes de la ville est soumise à ce genre de contraintes. Tu pourrais chercher dans cette direction ?!

    Il me semble également qu'on ne peut pas sortir du temple de Bhaal pendant le combat contre Sarevok et ses acolytes (toujours avec stratagem), même si personnellement je n'ai jamais tenté d'exécuter ce retrait.

    Haplo74
    Dernière modification par Haplo74 ; 19/07/2014 à 11h57.
    Modérateur des sections "le bazar de l'aventurier", "la taverne de Château-Suif", "la taverne d'Amkethran" et "le comptoir d'Amn".

  3. #3
    Date d'inscription
    February 2014
    Messages
    79
    Haplo74 a raison, il y a un script dans stratagem appelé ar0082.baf, qui commande à l'activation d'un nouveau trigger ajouté sur la map, empêchant le groupe de sortir une fois le combat commencé (c'est vicieux quand même, surtout dans un si petit espace):

    Code:
    IF
    	Global("DMWWLichDoor","GLOBAL",0)
    	OR(6)
    		InMyArea(Player1)
    		InMyArea(Player2)
    		InMyArea(Player3)
    		InMyArea(Player4)
    		InMyArea(Player5)
    		InMyArea(Player6)
    
    THEN
    	RESPONSE #100
    		SetGlobal("DMWWLichDoor","GLOBAL",1)
    		SetGlobal("DMWWLichDoorTimer","GLOBAL",600)
    		TriggerActivation("Tran0021",FALSE)
    		TriggerActivation("DMWWFakeExit",TRUE)
    END
    
    IF
    	!Global("DMWWLichDoor","GLOBAL",2)
    	Dead("grvlch01")
    THEN
    	RESPONSE #100
    		TriggerActivation("Tran0021",TRUE)
    		TriggerActivation("DMWWFakeExit",FALSE)
    		SetGlobal("DMWWLichDoor","GLOBAL",2)
    END
    
    IF
    	Global("DMWWLichDoor","GLOBAL",1)
    	!Dead("grvlch01")
    	!InMyArea(Player1)
    	!InMyArea(Player2)
    	!InMyArea(Player3)
    	!InMyArea(Player4)
    	!InMyArea(Player5)
    	!InMyArea(Player6)
    THEN
    	RESPONSE #100
    		SetGlobal("DMWWLichDoor","GLOBAL",0)
    		TriggerActivation("Tran0021",TRUE)
    		TriggerActivation("DMWWFakeExit",FALSE)
    END
    Le trigger bloquant la sortie étant DMWWFakeExit. Ce script fait partie du composant "mage", ou tu trouveras aussi dans le mage.tpa, à partir de la ligne 291:
    Code:
    // Let the Crooked Crane lich bar the door
         OUTER_INNER_PATCH ~~ BEGIN SET lichstring=RESOLVE_STR_REF (@217) END
    
         MAKE_PATCH
            match=>"trigger_name=Tran0021"
            trigger_name=>DMWWFakeExit
            trigger_info=>~%lichstring%~
            trigger_type=>1
         END
    
         LAF edit_area STR_VAR area=ar0082 editstring=~clone_trigger=>patch_data~ END
         OUTER_SPRINT $patch_data(~match~) "trigger_name=Tran0082"
         LAF edit_area STR_VAR area=ar0021 editstring=~clone_trigger=>patch_data~ END
    
         ACTION_FOR_EACH area IN ar0021 ar0082 BEGIN
            LAF extend_area_script STR_VAR area bottom=~%area%~ location=resource END
         END
    
           COPY_EXISTING ~ppjon.bcs~ ~override~
                  DECOMPILE_AND_PATCH BEGIN
                  REPLACE_TEXTUALLY
                  		       ~ForceSpell(Myself,DO_NOTHING)~
                  		       ~ReallyForceSpell(Myself,WIZARD_STONE_SKIN)
                  		       ReallyForceSpell(Myself,WIZARD_PROTECTION_FROM_MAGIC_ENERGY)
                  		       ReallyForceSpell(Myself,WIZARD_PROTECTION_FROM_ELECTRICITY)
                  		       SetGlobal("ChainContingencyFired","LOCALS",1)
    			       DisplayStringHead(Myself,26328)
    			       ReallyForceSpell(Myself,WIZARD_IMPROVED_MANTLE)
    			       ReallyForceSpell(Myself,WIZARD_SPELL_TURNING)
    			       ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_ABJURATION)
    			       ForceSpell(Myself,DO_NOTHING)~
                  END
    Tu as besoin d'un DisplayStringHead() pour faire apparaitre un texte flottant au dessus de la tête de tes persos mais je pense que tu peux le placer dans un baf après un THEN RESPONSE #100.

    Cette partie,
    Code:
    OUTER_INNER_PATCH ~~ BEGIN SET lichstring=RESOLVE_STR_REF (@217) END
    
         MAKE_PATCH
            match=>"trigger_name=Tran0021"
            trigger_name=>DMWWFakeExit
            trigger_info=>~%lichstring%~
            trigger_type=>1
         END
    
         LAF edit_area STR_VAR area=ar0082 editstring=~clone_trigger=>patch_data~ END
         OUTER_SPRINT $patch_data(~match~) "trigger_name=Tran0082"
         LAF edit_area STR_VAR area=ar0021 editstring=~clone_trigger=>patch_data~ END
    
         ACTION_FOR_EACH area IN ar0021 ar0082 BEGIN
            LAF extend_area_script STR_VAR area bottom=~%area%~ location=resource END
         END
    doit être là, entre autre, pour éditer la map et créer le nouveau trigger, vu qu'a priori, stratagem ne contient pas de fichier.are 0082.

    Si ta map est nouvelle, je pense que tu peux implanter ce trigger FakeExit avec DLCEP, plutôt qu'avec un tpa. En fait je sais pas trop comment ça marche, le mieux c'est de faire des essais, car en ce qui me concerne, la complexité du coddage de stratagems me dépasse un peu. (des tpa, des ssl, des tph et dieu sait quoi d'autre)
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 20h11. Motif: Mise en page

  4. #4
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 203
    Je me rends compte que j'avais oublié de répondre à cette question.

    Oublie stratagems et son langage SSL, développé par l'auteur pour créer des scripts, des fonctions et des routines WeiDU à partir de variables.

    WeiDU est ton ami et fait ceci tout seul : ADD_AREA_REGION_TRIGGER !
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

Discussions similaires

  1. [SOLUCE] Comment sortir d'Ombreterre ?
    Par Sorto dans le forum La Taverne d'Amkethran (Baldur's Gate 2)
    Réponses: 12
    Dernier message: 08/09/2008, 20h40
  2. [BGT] Impossible de sortir de Château-Suif
    Par brice37 dans le forum Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy
    Réponses: 3
    Dernier message: 13/10/2007, 15h03
  3. [BGT] Impossible de sortir des catacombes
    Par doc denfer dans le forum Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy
    Réponses: 8
    Dernier message: 16/11/2006, 18h45
  4. [SOLUCE] Sortir de la Rune Tordue
    Par ashton dans le forum La Taverne d'Amkethran (Baldur's Gate 2)
    Réponses: 10
    Dernier message: 01/04/2006, 19h46
  5. [DBG] Jasper n'est pas là ? celui qui fait sortir
    Par Venolas dans le forum Le Bazar de l'Aventurier
    Réponses: 15
    Dernier message: 01/08/2005, 17h10

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