Affichage des résultats 1 à 20 sur 20

Discussion: [SCRIPT] Créature qui suit automatiquement un personnage

  1. #1
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274

    [SCRIPT] Créature qui suit automatiquement un personnage

    Bonsoir,

    Le Script "Control" permet à une créature de suivre automatiquement CHARNAME lorsque le bouton "S" est pressé.

     Cliquer ici pour révéler le texte


    J'ai essayer d'ajouter un effet à une créature afin que celle-ci suive automatiquement le personnage après invocation, sans avoir à presser une quelconque touche:

    Script: Set Global Variable [265]

    Cependant je n'arrive pas à obtenir quoi que ce soit, est ce qu'il est effectivement possible d'utiliser ce script pour faire en sorte que la créature invoquée suive automatiquement son maitre ? (Si possible le Casteur original, pas CHARNAME).


    Faust
    Dernière modification par Faust ; 15/05/2017 à 23h56.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  2. #2
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    C'est normal que ton script ne fonctionne pas : il se contente d'attribuer une valeur à une variable et d'afficher un texte.
    De plus, l'effet #265 modifie une variable GLOBALE, et ton script utilise une variable LOCALE.

    Que souhaites-tu-faire exactement ? Convoquer une créature pendant un temps limité (combien) qui suive toujours son invocateur ou bien convoquer une créature de manière permanente ?
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  3. #3
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    C'est normal que ton script ne fonctionne pas : il se contente d'attribuer une valeur à une variable et d'afficher un texte.
    De plus, l'effet #265 modifie une variable GLOBALE, et ton script utilise une variable LOCALE.

    Que souhaites-tu-faire exactement ? Convoquer une créature pendant un temps limité (combien) qui suive toujours son invocateur ou bien convoquer une créature de manière permanente ?
    Salut Freddy,

    Merci pour ton attention.

    Je souhaite invoquer une créature qui automatiquement suive toujours son invocateur jusqu'à la fin de sa convocation. En revanche que la créature commence à suivre son invocateur qu'à partir d'une certaine distance pour ne pas entrer en conflit avec son script de combat. La distance paramétrée avec le script "Control" est légèrement trop courte (vraiment légèrement).

    J'ai mis comme Defaut script "Mage2" et comme General script "Control" pour la forme initiale, et ai mis comme Defaut script "FIGMAG10" et comme General script "Control" pour la transformation.

    La créature ne revient pas vers le personnage désiré mais "CHARNAME" lorsqu'elle s'éloigne trop de celui-ci, mais uniquement si j'ai pressé "S" au préalable pour activer le mode accompagnement.

    La créature avant transformation à un temps de convocation de 360 secondes

    La transformation dure 60 secondes (en fait le sort de transformation désinvoque la première créature pour en invoquer une autre pendant 60 secondes)

    La période de 60 secondes passée la créature est automatiquement désinvoquée et la créature avec sa forme initiale est de nouveau invoquée pendant 60 secondes après quoi elle disparaît complètement.
    Dernière modification par Faust ; 16/05/2017 à 21h30.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  4. #4
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    C'est normal que ton script ne fonctionne pas : il se contente d'attribuer une valeur à une variable et d'afficher un texte.
    De plus, l'effet #265 modifie une variable GLOBALE, et ton script utilise une variable LOCALE.

    Que souhaites-tu-faire exactement ? Convoquer une créature pendant un temps limité (combien) qui suive toujours son invocateur ou bien convoquer une créature de manière permanente ?
    J'ai aussi essayé le script FOLLOW et FOLLOW2, l'un ne fonctionne pas, le second fonctionne à moitié (la créature suis CHARNAME, mais après l'avoir atteint une fois, il ne l'accompagne plus du tout).

    Existe il des scripts afin de scripter exactement ce que je souhaite ou mieux vaut que je me contente du script CONTROL qui se rapproche un peu de ce que je veux?
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  5. #5
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Dans ce cas, je te conseille d'abandonner les scripts du jeu et d'en créer d'autres que tu appliqueras à tes créatures. Rassure-toi, pour faire ce que tu souhaites, ces scripts sont très courts.
    Comme toujours, en matière de modding, rien ne sert d'essayer de réinventer la roue : tu trouveras ton bonheur dans des mods qui font déjà la même chose.

    Tu as l'embarras du choix, mais jette un œil au hasard à Animal Companions, Golem Construction for Spellcasters et W_PackMule, tous trois traduits. Ils concernent des créatures qui deviennent familiers, mais tu peux te passer de la partie "je deviens familier" et conserver les blocs de scripts qui leur permettent de suivre automatiquement leur maître.
    Tu trouveras leur liens de téléchargement ici.
    Dernière modification par Freddy_Gwendo ; 18/05/2017 à 23h15.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  6. #6
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Dans ce cas, je te conseille d'abandonner les scripts du jeu et d'en créer d'autres que tu appliqueras à tes créatures. Rassure-toi, pour faire ce que tu souhaites, ces scripts sont très courts.
    Comme toujours, en matière de modding, rien ne sert d'essayer de réinventer la roue : tu trouveras ton bonheur dans des mods qui font déjà la même chose.

    Tu as l'embarras du choix, mais jette un œil au hasard à Animal Companions, Golem Construction for Spellcasters et W_PackMule, tous trois traduits. Ils concernent des créatures qui deviennent familiers, mais tu peux te passer de la partie "je deviens familier" et conserver les blocs de scripts qui leur permettent de suivre automatiquement leur maître.
    Tu trouveras leur liens de téléchargement ici.
    Super, merci Monsieur!

    Est-ce que ces mods fonctionnent avec BGT?
    Edit: -> Animal Companions oui/ Golem Contruction For Spellcasters non.

    Je test les différents scripts dès que j'ai du temps et te fais un retour.

    Edit: La créature suit bien un personnage sans aucune intervention de celui-ci avec Animal Companions, en revanche peut importe qui l'invoque, il suit toujours CHARNAME. Est-ce normal qu'il ne suive pas le rodeur/ druide?
    Dernière modification par Faust ; 19/05/2017 à 13h19.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  7. #7
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Normal, seul CHARNAME peut appeler un animal.

    Si ce n'est déjà fait, je te conseille de télécharger IESDP, la "Bible" des moddeurs, qui recense tous les fichiers des jeux (BG, BG2, IWD, PsT, EE), leur contenu et leur structure. Tu peux soit le consulter en ligne, soit le désarchiver sur ton DD (conseillé pour l'avoir sous la main en permanence).

    Parmi ces derniers, dans l'onglet "Identifiers" (fichiers IDS), tu trouveras la liste des "Objets", c'est-à-dire la liste des objets auxquels les commandes de scripts s'appliquent.

    Dans ton cas, il suffit de remplacer Player1 par LastSummonerOf(Myself) pour que ça fonctionne comme tu le souhaites.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  8. #8
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Normal, seul CHARNAME peut appeler un animal.

    Si ce n'est déjà fait, je te conseille de télécharger IESDP, la "Bible" des moddeurs, qui recense tous les fichiers des jeux (BG, BG2, IWD, PsT, EE), leur contenu et leur structure. Tu peux soit le consulter en ligne, soit le désarchiver sur ton DD (conseillé pour l'avoir sous la main en permanence).

    Parmi ces derniers, dans l'onglet "Identifiers" (fichiers IDS), tu trouveras la liste des "Objets", c'est-à-dire la liste des objets auxquels les commandes de scripts s'appliquent.

    Dans ton cas, il suffit de remplacer Player1 par LastSummonerOf(Myself) pour que ça fonctionne comme tu le souhaites.
    Je vais regarder ça.

    Par rapport à ce que tu m'as dit:"seul CHARNAME peut appeler un animal", ca veut dire que peu importe le script, la créature ne suivra jamais que CHARNAME, personne d'autre?
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  9. #9
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Ça signifie :

    1. Que seul CHARNAME peut appeler un animal (à condition d'être druide ou rôdeur).
    2. L'animal n'obéit qu'à CHARNAME, donc ne suit que lui (ou elle).
    Dernière modification par Freddy_Gwendo ; 19/05/2017 à 18h12.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  10. #10
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 273
    Salut Faust,
    je n'ai pas lu en détail tous les échanges mais voici le code que j'ai pour qu'un Golem me suive gentillement. Chaque action est liée à un ordre (via un clic bouton capacité spéciale)

    Il suit toujours le CHARNAME, à voir si ça peut t'aider. Pour la distance, à tester avec le mot RANGE(PERSONNAGE,DISTANCE).

    IF
    GLOBAL("suis","GLOBAL",1)
    THEN
    RESPONSE #100
    MoveToObjectFollow(PLAYER1)
    continue()
    END

    Tu peux faire tourner un TIMER pour lancer un test régulier sur la distance et tester si la créature reste sur place ou si elle avance car pas à bonne distance.

    Il y a p.e plus simple mais MoveToObjectFollow, pour ma part, avait tendance à tourner en boucle et le Golem collait le CHARNAME.

    Cocrane

  11. #11
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Normal, seul CHARNAME peut appeler un animal.

    Si ce n'est déjà fait, je te conseille de télécharger IESDP, la "Bible" des moddeurs, qui recense tous les fichiers des jeux (BG, BG2, IWD, PsT, EE), leur contenu et leur structure. Tu peux soit le consulter en ligne, soit le désarchiver sur ton DD (conseillé pour l'avoir sous la main en permanence).

    Parmi ces derniers, dans l'onglet "Identifiers" (fichiers IDS), tu trouveras la liste des "Objets", c'est-à-dire la liste des objets auxquels les commandes de scripts s'appliquent.

    Dans ton cas, il suffit de remplacer Player1 par LastSummonerOf(Myself) pour que ça fonctionne comme tu le souhaites.
    J'ai essayé de changer Player1 par LastSummonerOf(Myself) mais une fois sauvegardé et que je recharge mon script, celui-ci est changé en ([PC.GENERAL_ITEM.HUMAN])

    Citation Envoyé par Cocrane Voir le message
    Salut Faust,
    je n'ai pas lu en détail tous les échanges mais voici le code que j'ai pour qu'un Golem me suive gentillement. Chaque action est liée à un ordre (via un clic bouton capacité spéciale)

    Il suit toujours le CHARNAME, à voir si ça peut t'aider. Pour la distance, à tester avec le mot RANGE(PERSONNAGE,DISTANCE).

    Tu peux faire tourner un TIMER pour lancer un test régulier sur la distance et tester si la créature reste sur place ou si elle avance car pas à bonne distance.

    Il y a p.e plus simple mais MoveToObjectFollow, pour ma part, avait tendance à tourner en boucle et le Golem collait le CHARNAME.

    Cocrane
    Merci pour ton aide Cocrane.

    J'essaye de faire en sorte que mon invocation suive le personnage qui l'a invoquée et non pas CHARNAME (dans le background de mon personnage la créature est liée à lui et non pas à CHARNAME).

    Lorsque j'utilise ton script ma créature reste immobile
    Dernière modification par Faust ; 20/05/2017 à 10h49.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  12. #12
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Petite question en passant : comment modifies-tu et sauvegardes-tu ton script ? Quel utilitaire utilises-tu ?
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  13. #13
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Petite question en passant : comment modifies-tu et sauvegardes-tu ton script ? Quel utilitaire utilises-tu ?
    J'ai essayé avec DLCTEP et Near Infinity. Infinity Script Editor me donne une erreur lorsque je le lance.
    Dernière modification par Faust ; 20/05/2017 à 10h53.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  14. #14
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Il faut que tu décompresses le fichier bcs (script compilé et lu par le jeu) en fichier baf (script "brut" non compilé, qui n'est pas reconnu par le jeu), que tu effectues tes modifs dans le fichier baf, que tu sauvegardes tes modifications dans le fichier baf, et enfin que tu compiles le fichier baf en fichier bcs.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  15. #15
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Il faut que tu décompresses le fichier bcs (script compilé et lu par le jeu) en fichier baf (script "brut" non compilé, qui n'est pas reconnu par le jeu), que tu effectues tes modifs dans le fichier baf, que tu sauvegardes tes modifications dans le fichier baf, et enfin que tu compiles le fichier baf en fichier bcs.
    Malheureusement ça ne change rien, le Script source se sauvegarde bien, il reste le même après l'avoir réouvert, mais après conversion je me retrouve avec le même problème, voici le résultat après conversion:

    IF
    !TimerExpired(1)
    See([PC])
    !Range([PC],4)
    THEN
    RESPONSE #100
    MoveToObject([PC])
    END


    au lieu de:

    IF
    See(LastSummonerof(Myself))
    !Range(LastSummonerof(Myself),4)
    THEN
    RESPONSE #100
    MoveToObject(LastSummonerof(Myself))
    END
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  16. #16
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Et avec LastSummonerOf ? Le respect de la casse est primordial.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  17. #17
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Et avec LastSummonerOf ? Le respect de la casse est primordial.
    Malheureusement j'ai le même résultat:

    IF
    See([PC.GENERAL_ITEM.HUMAN])
    !Range([PC.GENERAL_ITEM.HUMAN],4)
    THEN
    RESPONSE #100
    MoveToObject([PC.GENERAL_ITEM.HUMAN])
    END

    au lieu de:

    IF
    See(LastSummonerOf(Myself))
    !Range(LastSummonerOf(Myself),4)
    THEN
    RESPONSE #100
    MoveToObject(LastSummonerOf(Myself))
    END



    C'est entièrement ma faute, je faisais à moitié les choses avec Near Infinity et le reste avec DLTCEP, du coup ça ne marchait pas. Vraiment tout faire avec Near Infinity et ça marche parfaitement.

    DLTCEP ne retranscrit pas correctement les modifications de scripts. Avec DLTCEP ma créature venait même à m'attaquer au lieu de l'ennemi si je venais à changer son comportement fasse aux ennemis.

    Merci Messieurs pour votre précieuse aide.
    Dernière modification par Faust ; 20/05/2017 à 18h07.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  18. #18
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    Avant de résoudre ton problème de création de fichiers *, essaie ceci : GWEssai a été créé avec WeiDU, GWEssai2 avec NI.

    * : je subodore soit un mauvais paramétrage de DLTCEP, soit une mauvaise utilisation de NI, soit une installation olé olé...

    Édit : tant pis, je viens de voir que tu as modifié ton message précédent.
    Fichiers attachés Fichiers attachés
    Dernière modification par Freddy_Gwendo ; 20/05/2017 à 17h26.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  19. #19
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Avant de résoudre ton problème de création de fichiers *, essaie ceci : GWEssai a été créé avec WeiDU, GWEssai2 avec NI.

    * : je subodore soit un mauvais paramétrage de DLTCEP, soit une mauvaise utilisation de NI, soit une installation olé olé...

    Édit : tant pis, je viens de voir que tu as modifié ton message précédent.
    Un grand merci Freddy pour ta patience et ta précieuse aide.
    Dernière modification par Faust ; 20/05/2017 à 19h47.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

  20. #20
    Date d'inscription
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Avant de résoudre ton problème de création de fichiers *, essaie ceci : GWEssai a été créé avec WeiDU, GWEssai2 avec NI.

    * : je subodore soit un mauvais paramétrage de DLTCEP, soit une mauvaise utilisation de NI, soit une installation olé olé...

    Édit : tant pis, je viens de voir que tu as modifié ton message précédent.
    Par curiosité, est-il possible d'adapter la commande MoveToObject à un personnage qui a un nom spécifique? Par exemple si je veux qu'une personne invoque une créature qui suive uniquement une autre personne qui n'est pas CHARNAME? Y à t'il un moyen que la créature suive le personnage parce qu'il s'appelle Imoen ou Minsc? Ou parce qu'il y a un objet qu'un personnage possède dans son inventaire? Ou encore parce qu'il a une classe spécifique?


    MoveToObject fait entrer la créature en colission avec le personnage qu'elle suit.

    MoveToObjectFollow permet de garder une distance entre la créature et le personnage qu'elle suit, ce qui empêche la collision.


    IF
    Die()
    THEN
    RESPONSE #100
    ReallyForceSpellDead(Myself,ILLUSION_DEATH)
    DestroySelf()
    END

    Permet de faire disparaître la créature comme une invocation lorsqu'elle meurt.
    Dernière modification par Faust ; 21/05/2017 à 15h10.
    "Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."

    Wherever I May Roam.

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/03/2020, 20h17
  2. [Script] avoir une créature qui suit le groupe et change de carte
    Par Cocrane dans le forum Généralités sur la création d'un mod
    Réponses: 4
    Dernier message: 17/08/2017, 23h03
  3. Réponses: 19
    Dernier message: 31/07/2017, 23h03
  4. [SCRIPT] Créature donne un objet si non possédé
    Par Faust dans le forum Scripts
    Réponses: 4
    Dernier message: 28/07/2017, 19h27
  5. Réponses: 13
    Dernier message: 02/04/2016, 22h06

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 257