Affichage des résultats 1 à 23 sur 23

Discussion: [SCRIPT] Diverses questions pour gérer une créature supplémentaire dans le groupe

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

    [SCRIPT] Diverses questions pour gérer une créature supplémentaire dans le groupe

    Le Charname a une ou plusieurs créatures en plus de son groupe.
    Exemple:
    - achat d'un golem.
    - chef d'une expédition avec un petit groupe de soldats à gérer.

    Ces créatures:
    - suivront le Charname sur la carte.
    - participeront aux combats.
    - recevront des consignes (rester ici, défendre/attaquer une position, une personne etc...)

    Comment coder intelligemment:
    - le changement de carte et être suivi par ces créatures?
    - le changement de consigne?

    Je note qu'une créature peut avoir le statut d'allié ou de familier.
    On peut tester sur chaque carte si on a des alliés à faire apparaitre mais ça me semble très lourd de traiter toutes les cartes.

    Huxa avait un mod Mercenaires en cours. Mais on a plus trop de nouvelles et j'ignore si il avait trouvé une solution stable.



    Qui a des idées / infos sur le sujet?
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 23h27. Motif: Modification du titre de la discussion et mise en page

  2. #2
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Je passe en coup de vent et n'ai pas le temps de répondre à toutes tes questions, mais je viens de retrouver un vieux script que j'utilisais pour que "Reine" suive le groupe dans un certain nombre de cartes (elles les suivait aussi lorsqu'ils changeaient de carte) :

    Code:
    IF
      OR(7)
        AreaCheck("GW0151") // 
        AreaCheck("GW0152") // 
        AreaCheck("GW0153") // 
        AreaCheck("GW0154") // 
        AreaCheck("GW0155") // 
        AreaCheck("GW0156") // 
        AreaCheck("GW0157") // 
      Global("GWDemons","GLOBAL",6) // Variable à partir de laquelle elle ne suit plus le groupe
      NumInPartyAlive(6)
    THEN
      RESPONSE #100
        MoveToObjectFollow(Player6)
        MoveToObjectNoInterrupt(Player6)
        Continue()
    END
    
    IF
      OR(7)
        AreaCheck("GW0151")
        AreaCheck("GW0152")
        AreaCheck("GW0153")
        AreaCheck("GW0154")
        AreaCheck("GW0155")
        AreaCheck("GW0156")
        AreaCheck("GW0157")
      Global("GWDemons","GLOBAL",6)
      NumInPartyAlive(5)
    THEN
      RESPONSE #100
        MoveToObjectFollow(Player5)
        MoveToObjectNoInterrupt(Player5)
        Continue()
    END
    
    IF
      OR(7)
        AreaCheck("GW0151")
        AreaCheck("GW0152")
        AreaCheck("GW0153")
        AreaCheck("GW0154")
        AreaCheck("GW0155")
        AreaCheck("GW0156")
        AreaCheck("GW0157")
      Global("GWDemons","GLOBAL",6)
      NumInPartyAlive(4)
    THEN
      RESPONSE #100
        MoveToObjectFollow(Player4)
        MoveToObjectNoInterrupt(Player4)
        Continue()
    END
    
    ...
    Ça ne répond pas à toutes tes questions mais, appliqué à Reine, ce script fonctionnait parfaitement.
    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
    Merci Freddy.

    J'ai jeté un œil sur les échanges d'Huxa sur le sujet:
    - la créature doit avoir reçu le code ACTIONOVERRIDE("NOM DE LA CREATURE",MakeGlobal())
    - la ou les cartes concernées doivent avoir le code suivant:

    Code:
    IF
      Global("NOM DE LA CREATURE","GLOBAL",1) // Test créature pour signaler que la créature accompagne le groupe
      !InActiveArea("NOM DE LA CREATURE")
      !See("NOM DE LA CREATURE")
      !Dead("NOM DE LA CREATURE")
    THEN
      RESPONSE #100
        MoveGlobalObject("NOM DE LA CREATURE",Player1)
    END
    Il y a aussi un script TP2 pour l'affecter à toutes les cartes pour la créature "haiare":

    Code:
    COPY_EXISTING_REGEXP GLOB ~^\([^xX].*\|[xX][^rR].*\|[xX][rR][^2].*\|[xX][rR]2[^46].*\)\.are$~ ~override~
      PATCH_IF SOURCE_SIZE > 0x11b BEGIN
        READ_ASCII 0x94 ~rsc~ //Area script
        TO_LOWER rsc
        PATCH_IF (~%rsc%~ STRING_EQUAL ~none~ = 0) AND (~%rsc%~ STRING_EQUAL ~~ = 0) BEGIN //If not a null script
          PATCH_IF NOT VARIABLE_IS_SET $df(EVALUATE_BUFFER ~%rsc%~) BEGIN //And hasn't been buffered already
            SPRINT $df(EVALUATE_BUFFER ~%rsc%~) ~%rsc%~ //Add to buffer
          END
        END ELSE BEGIN
          SPRINT ~rsc~ ~%SOURCE_RES%~ //Area script
          PATCH_IF FILE_EXISTS_IN_GAME ~%rsc%.bcs~ BEGIN
            WRITE_ASCIIE 0x94 ~%rsc%~ #8 //Write it to the area file
            SPRINT $df(EVALUATE_BUFFER ~%rsc%~) ~%rsc%~ //Add to buffer
          END ELSE BEGIN
            INNER_ACTION BEGIN
              COPY_EXISTING ~haiare.bcs~ ~override/%rsc%.bcs~
            END
            WRITE_ASCIIE 0x94 ~%rsc%~ #8 //Write it to the area file
          END
        END
      END
    BUT_ONLY_IF_IT_CHANGES
    
    ACTION_PHP_EACH df AS i => xs BEGIN //Extend all scripts in buffer
      EXTEND_BOTTOM ~%xs%.bcs~ ~override/haiare.bcs~
    END

    A priori ça marche aussi.

    Il faut que je le teste.
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 23h12. Motif: Mise en page

  4. #4
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Le déplacement de la créature d'une carte à l'autre fonctionne bien avec le code:

    Code:
    IF
      Global("NOM DE LA CREATURE","GLOBAL",1) // Test créature pour signaler que la créature accompagne le groupe
      !InActiveArea("NOM DE LA CREATURE")
      !See("NOM DE LA CREATURE")
      !Dead("NOM DE LA CREATURE")
    THEN
      RESPONSE #100
        MoveGlobalObject("NOM DE LA CREATURE",Player1)
    END
    Dans le cas du golem, je désire que Charname puisse lui donner des ordres :
    - Suis moi!
    - Reste ici!
    - Tue !
    - Protège-moi!
    (si vous avez d'autres d'idées sympas, je suis à l'écoute!)

    Je suppose qu'il faut ajouter une compétence innate pour chaque ordre via le code ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("Nom du sort"))

    Du coup, j'ai un problème avec la création du sort. Je pensais trouver un effet permettant de lancer un script qui agirait sur le golem (changement de valeur d'une variable ou un de lancer un SHOUT etc...).

    A priori, la solution serait d'utiliser l'opcode #82 (0x82) Set AI Script [82]
    Parameter #1: Irrelevant
    Parameter #2: Type
    Description:
    Sets the script type specified by the 'Type' value to the contents of the resource key.
    Known values for 'Type' are:
    0 OVERRIDE
    1 AREA
    2 SPECIFICS
    4 CLASS
    5 RACE
    6 GENERAL
    7 DEFAULT
    NB. This effect can unset scripts from a creature, which can break the game.
    On associe un fichier script à une créature si le sort est lancé.


    Qui a une meilleure idée ?
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 23h14. Motif: Mise en page

  5. #5
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 631
    Le mod W_Packmule utilise tout simplement un dialogue pour donner des ordres à la mule, dont une partie ressemble à certains des tiens. C'est sans doute bien plus simple à mettre en oeuvre.
    Et comme les ordres que tu envisages n'excluent pas une proximité avec le golem, un dialogue ne présenterait pas de contrainte.
    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 !

  6. #6
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Merci Isaya pour ton retour. Je prends en note cette possibilité de donner effectivement des ordres par le biais d'un dialogue.

    Le dialogue me gène un peu car le Charname va devoir se déplacer vers son Golem pour lui parler.
    Exemple: Dans le cadre d'un combat, Le charname est en retrait et il veut donner un nouvel ordre à son Golem qui est en première ligne. Il doit aller au front.

    Pour le moment, je travaille sur le fait de donner une compétence innate par ordre. Chaque ordre étant un SHOUT à part qui est interprété par le script du Golem.

    1ier problème: je ne vois pas comment affecter une compétence innate sans gestion de charge. Est ce possible? Sinon il faut que je prévois un rechargement auto.
    Celà s'accompagne d'un AddSpecialAbility et d'un son automatique...

    2nd problème: j'ai à priori des conflits dans mon script et l'ordre n'est pas toujours suivi d'effet alors que si le script gère un seul ordre à la fois, ça marche.

    Voilà où j'en suis.

    Je viens d'éclater mon script en deux fichiers:
    Script avec les shouts et un changement de variable en conséquence dans la case Script GENERAL (ancienne partie haute de mon code initial)
    Script avec actions liés à chacune des variables dans la case Script DEFAUT. (ancienne partie basse=

    Et ça marche, j'ai mes 4 ordres (Suis moi, restes ici, tues et protèges moi). Et je peux changer d'ordre et y revenir.

    Je pense que j'ai raté un truc dans la logique de programmation des scripts... Car pour moi si on met tout dans un même script ça devrait marcher.
    Dernière modification par Cocrane ; 30/09/2015 à 22h46.

  7. #7
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Petit bilan:
    - la créature te suit d'une AREA à l'autre: OK
    - la créature obéit aux ordres: Ok
    - ordres en mode illimité; nok
    Je ne sais pas si c'est possible de ne pas avoir de "charge" capacité spéciale. Sinon il faut qu'à chaque fois que la capacité est utilisée, elle soit recréé. Dans ce cas, l'ajout d'une capacité spéciale génère un son automatique et je ne sais pas l'enlever.
    - icônes ordres:
    Suis moi!: OK
    Restes ici!: NOK
    Tues!: NOK
    Défends moi!: NOK

    Il me reste 3 icônes à trouver. Si vous avez des propositions, je suis preneur.

  8. #8
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Envois-moi tes fichiers (sorts + icônes) : je verrai ce que j'ai en stock qui pourrait coller avec ce que tu as déjà choisi.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  9. #9
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Il y a une erreur dans mon message, c'est l'icône "Tues!" qui est réalisé.

    TUE.bmp

    Des dessins de base me vont bien aussi.

    Je peux t'envoyer les fichiers. Mais que veux tu en faire?

  10. #10
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    OK, je vois, ce sont des icônes ressemblant assez à celles du jeu. Je plonge dans mes archives ce soir.

    Quant au son, soit c'est celui qui est joué lorsque tu gagnes une capacité (notamment par script) et là tu es refait car il est hardcodé, soit il provient de tes sorts.

    Par ailleurs, il y a peut-être moyen de la réattribuer par sort, d'où le besoin d'avoir tes fichiers de sorts pour voir si je peux les modifier en conséquence.

    PS: Depuis quelques années, il est possible de mettre des sorts en pièces jointes dans les messages.
    Dernière modification par Freddy_Gwendo ; 05/10/2015 à 20h03.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  11. #11
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Oui, il parait qu'on peut faire pleins de choses avec les ordinateurs. Comme moder en s'arrachant les cheveux.

    Pour le son, oui c'est celui lié à l'acquisition d'une capacité spéciale: ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("SPIN527"))
    Si c'est pas possible, je ferai avec.

    Je suis plus gêné par la non possibilité d'avoir la capacité en illimité. (j'ai pas trouvé en tout cas).

    OK, pour les icônes.

    - Supprimer les capacités spéciales
    Autre problème, (une solution est toujours suivi d'un problème! ). Si le golem est détruit, je désire supprimer les capacités spéciales de type ordre.
    147 RemoveSpell(I:Spell*Spell)
    147 RemoveSpellRES(S:RES*)
    This action removes one memorised indtance of the specified spell from the spellbook of the active creature. The spell can be an innate ability, a priest spell or a wizard spell, but must be listed in spell.ids.
    Code:
      IF
        Global("KR_ANTI_PALADIN_CHANGE","LOCALS",1)
      THEN
        RESPONSE #100
          RemoveSpell(PALADIN_LAY_ON_HANDS)
          RemoveSpell(PALADIN_DETECT_EVIL)
          RemoveSpell(PALADIN_PROTECTION_FROM_EVIL)
          SetGlobal("KR_ANTI_PALADIN_CHANGE","LOCALS",2)
      END
    J'ai tenté, je compile et ça ne marche pas dans le jeu. (le sort est bien dans SPELL.IDS pourtant):

    Code.baf: ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("SPIN527"))
    ...
    Spell.ids: 3527 SPORD11
    ...
    Code.baf: REMOVESPELL("SPORD11")


    Allez, utilisons la haute technologie !
    Fichiers attachés Fichiers attachés
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 23h18. Motif: Mise en page

  12. #12
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Ton sort affecte un script, mais quid des habilités ?

    Je suppose qu'elles sont attribuées à Player1. C'est celles-là dont j'ai besoin.

    Par ailleurs, essaie de remplacer PROTAGONIST par Player1, puis RemoveSpell par RemoveSpellRes.

    Envoie aussi ton script, car vu comme ça, à l'aveugle, j'ai l'impression que tu confonds le sort qui attribue un script avec les habilités.


    PS : je te mentionnais la possibilité d'uploader des petits fichiers baf, spl et cie qui n'était pas prévue par le forum jusqu'il y a peu. Ça évite de passer par la création de fichiers rar, zip et autres.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  13. #13
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Fichiers ajoutés:

    Charname
    Capacité spéciale: SPIN527
    lance: SPORD11.BAF (ordre au golem)

    Golem
    Script général: GAGOLG1: réception de l'ordre par le golem
    Script défaut: GAGOLD1: action liée à l'ordre

    L'ajout de la capacité est lié à un script PNJ déclenché suite à un dialogue:
    Code:
    // Achat Golem d'argile
    IF
      GLOBAL("GA_GOLEM_ARGILE_ACHETE","GLOBAL",1)
    THEN
      RESPONSE #100
        SETGLOBAL("GA_GOLEM_ARGILE_ACHETE","GLOBAL",2)
        SETGLOBAL("GA_GOLEM_ACHETE","GLOBAL",2)
     
     // Le golem d'argile devient la propriété du Protecteur
      // Texte: Félicitations, vous êtes l'heureux propriétaire d'un magnifique golem d'argile!
        DisplayStringHead(Myself,@57)
      
        ChangeEnemyAlly("GAGOL1",ALLY)
        ACTIONOVERRIDE("GAGOL1",MakeGlobal())
      
     // Capacité à donner des ordres au Golem
        ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("SPIN527")) // Suis moi!
        ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("SPIN526")) // Reste ici!
        ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("SPIN525")) // Tues!
        ACTIONOVERRIDE(PROTAGONIST,AddSpecialAbility("SPIN524")) // Protèges moi!
        Wait(1)
        SHOUT(11)
    END

    Pour le REMOVESPELL, il marche très bien en fait. J'ai mal codé le script.


    Origine script Golem (à sa destruction)

    Code:
    // Gestion de la destruction du golem
    IF
      die()  
    THEN
      RESPONSE #100
      // Suppression des ordres aux Golems
        REMOVESPELL("SPORD11")
        REMOVESPELL("SPORD13")
        REMOVESPELL("SPORD13")
        REMOVESPELL("SPORD14")
        continue() 
    END

    Version corrigée

    Code:
    // Gestion de la destruction du golem
    IF
      die()  
    THEN
      RESPONSE #100
      // Suppression des ordres aux Golems
        ACTIONOVERRIDE(PROTAGONIST,RemoveSpell("SPORD11"))
        ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD12"))
        ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD13"))
        ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD14")) 
        continue() 
    END
    Fichiers attachés Fichiers attachés
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 23h21. Motif: Mise en page

  14. #14
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Désolé, pas eu le temps de répondre hier soir.

    Bon, si j'ai bien compris, lorsque tu achètes le golem, tu disposes de 4 capacités (SPIN524 à SPIN527), appelées SPORD11 à SPORD14 dans le fichier SPELL.ids, 11, 12, 13, 14 correspondant à la nature du Shout().

    Première remarque : évite de leur donner ce genre d'appellation (SPINxxx). Privilégie plutôt [coco]tue, [coco]suis... avec [coco] correspondant à ton préfixe de mod. Ça évitera des problèmes de compatibilité.
    Idem avec le fichier SPELL.IDS : évite d'y toucher. Quid si un autre mod créé des sorts aux mêmes slots ? De plus, tu n'en as pas besoin en utilisant les commandes ...SpellRES.


    Pour en revenir à nos golems, essaie de rajouter ces deux effets dans chacune de tes capacités :

    Spell: Remove Spell [172] et Spell: Give Innate Ability [171] avec ressource = nom de ta capacité.

    Ainsi chaque fois que tu l'utilises, tu la vides de ta mémoire et la réapprends illico presto : c'est une manière comme une autre de la rendre "illimitée".


    Petite astuce : plutôt que de t'encombrer avec 4 capacités, utilises-en une seule qui appelle les 4 autres : chaque fois que tu l'utilises, tu choisis quel ordre donner.
    Ci-joint une archive avec la capacité unique qui appelle les autres. Tu n'auras qu'à modifier les noms des fichiers des sorts ainsi que ceux contenus dans le fichier 2DA (avec Notepad++).
    Testée in-game, cococapa se régénère à chaque utilisation.
    Fichiers attachés Fichiers attachés
    Dernière modification par Freddy_Gwendo ; 06/10/2015 à 08h52.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  15. #15
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Salut Freddy,
    merci pour ton retour.

    1-Compatibilité du Mod avec d'autres.
    Je sais que pour certains c'est un sujet important pour pouvoir installer plusieurs mods. Mais pour faire simple, j'ai pris la décision au cours du mod de ne pas m'en préoccuper.

    Mon mod démarre à la fin de BG1 et finalement cela sera une alternative à BG2. C'est donc une période que personne utilise. On installe mon mod avec une save BG1 ou on prend un nouveau perso. Ca pourrait effectivement poser problème si une personne veut démarrer une partie BG1 avec X mods.

    Le fait de rendre compatible mon mod nécessite davantage de paramétrage d'une manière générale. Or je galère déjà beaucoup pour avancer. J'ai le sentiment d'avancer à pas de tortue. J'y passe énormément de temps.

    A noter 'REMOVESPELLRES' etc... n''existe pas sur ma machine même si IESDP le propose. J'ai noté dans un mod existant un TP2 où des mots clés 'RES' sont visiblement ajoutés.


    2-Capacité en illimité
    Ta proposition d'ajouter l'effet 171-give innate hability marche bien et ne produit pas de son!

    Je n'ai pas eu besoin d'ajouter REMOVESPELL dans le .SPL

    Un problème de résolu. MERCI

    3-Encombrement avec 4 capacités
    Je garde ton idée de 4 en 1 sous le coude. Pour le moment, j'aime bien voir mes 4 icônes.

    4-Choix des icones
    Tes icônes expriment bien la capacité innate mais je n'accroche pas sur le style de dessin. A priori, je ne vais pas les retenir.

  16. #16
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Citation Envoyé par Cocrane
    A noter 'REMOVESPELLRES' etc... n''existe pas sur ma machine même si IESDP le propose. J'ai noté dans un mod existant un TP2 où des mots clés 'RES' sont visiblement ajoutés.
    Bizarre : BG2 Fixpack les installe directement.
    Copie le fichier tob2soa.tph de bg2fixpack\lib dans le répertoire de ton mod et ajoute dans ton tp2 la ligne

    INCLUDE ~tonmod/sous-répertoire/tob2soa.tph~


    Tes icônes expriment bien la capacité innate mais je n'accroche pas sur le style de dessin. A priori, je ne vais pas les retenir.
    Pas grave, c'est vrai qu'elles correspondent au parti-pris graphique de mon mod.
    Je vais regarder si j'en ai d'autres plus classiques.
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  17. #17
    Date d'inscription
    February 2011
    Messages
    674
    Citation Envoyé par Cocrane Voir le message
    Je n'ai pas eu besoin d'ajouter REMOVESPELL dans le .SPL
    Si tu ne l'ajoutes pas, tu vas te retrouver avec 12 000 exemplaires de la capacité après un repos (12 000 étant égal au nombre de fois où tu auras utilisé la capacité + 1).
    « Pssst. Tu as remarqué comme elle me dévore du regard ? Hein ? Tu as vu ça ? La façon dont elle a regardé la courbe de mon os occipital ? »

  18. #18
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Merci d'avoir précisé ce point, mirandir.

    Je l'avais laissé passé dans ma réponse : l'opcode #172 est O B L I G A T O I R E !
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

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

    Je me suis aperçu hier que j'y étais forcé si je voulais conserver l'ordre des capacités innates. Sinon la capacité regénérée se retrouve en 4ième position.

  20. #20
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Le Charname pourra revendre son golem.

    Le soucis est que le Golem s'en va avant la fin de l'effet visuel redonnant le contrôle au Mage qui lui a vendu.

    Script créature

    Code:
    ...
     SetInterrupt(TRUE)
      CreateVisualEffectObject("SPHEALIN",PROTAGONIST)
      wait(1)
      CreateVisualEffectObject("SPHEALIN","GAGOL1")
      ChangeEnemyAlly("GAGOL1",NEUTRAL)
      ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD11"))
      ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD12"))
      ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD13"))
      ACTIONOVERRIDE(PROTAGONIST,REMOVESPELL("SPORD14"))  
     SetInterrupt(FALSE) 
      ACTIONOVERRIDE("GAGOL1",MoveToPoint([570.585]))
    ...
    J'ai ajouté le code SetInterrupt(TRUE) dans le but de m'assurer que code sera exécuté et terminé avant que le déplacement se produise mais ça ne change rien.
    L'animation commence et le Golem se déplace avant la fin.

    Comment attendre que l'exécution du code soit terminé pour passer à la suite ?
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 23h25. Motif: Mise en page

  21. #21
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Icones: OK

  22. #22
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages
    4 202
    Désolé, je suis de nouveau dispo...

    Tu as le choix entre deux solutions :

    1. Soit tu rajoutes un Wait(3) avant le déplacement du golem.
    2. Soit tu scindes ton script en deux en rajoutant à la fin de la première partie une variable qui déclenche le déplacement du golem (deuxième partie du script).
    CARPE DIEM...
    Co-modérateur de La Forge
    Moddeur qui s'arrache les cheveux...

  23. #23
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    978
    Le WAIT marche très bien.

    J'avais fait un essai qui ne marchait pas. J'ai dû coder avec des yeux à moitié ouvert.

    Attention Moder peut vous enlever toute lucidité.

Discussions similaires

  1. [TW1][SOLUCE] Questions diverses sur le jeu
    Par SergioToutCourt dans le forum The Witcher
    Réponses: 35
    Dernier message: 24/02/2015, 10h42
  2. Questions diverses : Script - organisation des fichiers - modding et BG Enhanced Edit
    Par Wolghaï dans le forum Généralités sur la création d'un mod
    Réponses: 9
    Dernier message: 08/04/2012, 01h33
  3. [BG1][SOLUCE] Diverses questions pour ne pas rater mon départ !
    Par saiboht dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 26
    Dernier message: 30/03/2011, 07h47
  4. [DAO][SOLUCE] Diverses questions...
    Par Kwasin dans le forum Les Secrets de Dragon Age: Origins
    Réponses: 5
    Dernier message: 26/02/2011, 21h24
  5. Réponses: 3
    Dernier message: 30/07/2005, 21h31

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