Affichage des résultats 1 à 5 sur 5

Discussion: [SCRIPT] - Créature utilise furtivité comme son maître

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

    RESOLU [SCRIPT] - Créature utilise furtivité comme son maître

    Bonsoir,

    Je voudrai que la créature invoquée par mon personnage utilise furtivité lorsque mon héro l'utilise, et ce tout en suivant mon héro.

    J'ai essayé le script suivant:


    This action instructs the active creature to attempt to Hide in Shadows. This action can be used for any creature (not just thieves) though success in hiding is dependent on points in the Stealth skill. A hidden creature is treated as STATE_INVISIBLE.

    IF
    !See([EVILCUTOFF])
    OR(2)
    !StateCheck(Myself,STATE_INVISIBLE)
    !StateCheck(Myself,STATE_IMPROVEDINVISIBLITY)
    THEN
    RESPONSE #100
    Hide()
    END

    en modifiant:

    IF
    See(LastSummonerOf(Myself))
    StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    RESPONSE #100
    Hide()
    MoveToObjectFollow(LastSummonerOf(Myself))
    END

    Le problème est qu'après avoir utilisé la furtivité correctement une fois, la créature ne réutilise pas malgré que mon héro le fasse mais continue à le suivre, et ce tout le temps de l'invocation de la créature.
    Dernière modification par Faust ; 19/07/2017 à 15h04.
    "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
    Jamais testé ce genre de scripts, mais mon petit doigt me dit que ça provient de l'action MoveToObjectFollow(LastSummonerOf(Myself)).

    Pour le confirmer. Teste ton script en laissant ton perso immobile (puis en commentant cette ligne). Si j'ai vu juste, la créature convoquée agira comme prévu. Il faudra alors trouver une parade à cette action.

    De mémoire, je dispose d'un script (écrit il y a longtemps) permettant à un PNJ de suivre le groupe dans un donjon. Je pourrai te le rechercher ce soir.
    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
    juillet 2004
    Localisation
    In my wonderland
    Messages 
    209
    Citation Envoyé par Faust Voir le message
    Bonsoir,

    Je voudrai que la créature invoquée par mon personnage utilise furtivité lorsque mon héro l'utilise, et ce tout en suivant mon héro.

    J'ai essayé le script suivant:


    This action instructs the active creature to attempt to Hide in Shadows. This action can be used for any creature (not just thieves) though success in hiding is dependent on points in the Stealth skill. A hidden creature is treated as STATE_INVISIBLE.

    IF
    !See([EVILCUTOFF])
    OR(2)
    !StateCheck(Myself,STATE_INVISIBLE)
    !StateCheck(Myself,STATE_IMPROVEDINVISIBLITY)
    THEN
    RESPONSE #100
    Hide()
    END

    en modifiant:

    IF
    See(LastSummonerOf(Myself))
    StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    RESPONSE #100
    Hide()
    MoveToObjectFollow(LastSummonerOf(Myself))
    END

    Le problème est qu'après avoir utilisé la furtivité correctement une fois, la créature ne réutilise pas malgré que mon héro le fasse mais continue à le suivre, et ce tout le temps de l'invocation de la créature.
    Oui, comme le souligne Freddy, je pense que le problème vient du fait que le MoveObject annule le state (Hide).
    Essaye de séparer ton script en deux parties:

    IF
    See(LastSummonerOf(Myself))
    StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    RESPONSE #100
    Hide()
    Continue()
    END

    IF
    StateCheck(myself,INVISIBLE)
    THEN
    RESPONSE #100
    MoveToObject(LastSummonerOf(Myself))
    MoveToOffset([2.3]) //là tu mets la valeur que tu veux, cela permet à la créature de ne pas coller aux fesses du perso mais de rester un peu éloignée
    END

    Si ça ne marche pas, tu peux toujours créer un sort permanent d'invisibilité, que tu déclencheras via script sur la créature lorsque le perso sera furtif, et que tu annuleras de la même manière lorsque le perso retournera en state normal.
    Dernière modification par Pélagie ; 19/07/2017 à 08h35.
    Demi-elfe aquatique

    Groupie de Bioware

  4. #4
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 566
    J'ai un doute sur l'utilisation de la condition

    Code:
    IF
        See(LastSummonerOf(Myself))
        StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    La logique voudrait qu'elle ne soit jamais remplie : on ne voit pas l'invisible !

    Mais je peux me tromper, les lois de l'IE étant ce qu'elles sont...
    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
    avril 2009
    Localisation
    Wherever I may roam
    Messages 
    274
    Citation Envoyé par Freddy_Gwendo Voir le message
    Jamais testé ce genre de scripts, mais mon petit doigt me dit que ça provient de l'action MoveToObjectFollow(LastSummonerOf(Myself)).

    Pour le confirmer. Teste ton script en laissant ton perso immobile (puis en commentant cette ligne). Si j'ai vu juste, la créature convoquée agira comme prévu. Il faudra alors trouver une parade à cette action.

    De mémoire, je dispose d'un script (écrit il y a longtemps) permettant à un PNJ de suivre le groupe dans un donjon. Je pourrai te le rechercher ce soir.
    Tu as raisons! Mais du coup la créature ne suis plus le personnage et reste indéfiniment invisible (furtive). Si ça ne te dérange pas avec plaisir, ça me servira surement, mais puisque j'ai trouvé une solution, je ne veux pas te faire fouiller pour rien, à l'occasion tu peux me l'envoyer et je le garde en mémoire?


    Citation Envoyé par Pélagie Voir le message
    Oui, comme le souligne Freddy, je pense que le problème vient du fait que le MoveObject annule le state (Hide).
    Essaye de séparer ton script en deux parties:

    IF
    See(LastSummonerOf(Myself))
    StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    RESPONSE #100
    Hide()
    Continue()
    END

    IF
    StateCheck(myself,INVISIBLE)
    THEN
    RESPONSE #100
    MoveToObject(LastSummonerOf(Myself))
    MoveToOffset([2.3]) //là tu mets la valeur que tu veux, cela permet à la créature de ne pas coller aux fesses du perso mais de rester un peu éloignée
    END

    Si ça ne marche pas, tu peux toujours créer un sort permanent d'invisibilité, que tu déclencheras via script sur la créature lorsque le perso sera furtif, et que tu annuleras de la même manière lorsque le perso retournera en state normal.
    Super en adaptant ton script j'ai réussi à tout garder:

    IF
    See(LastSummonerOf(Myself))
    StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    RESPONSE #100
    Hide()
    Continue()
    END

    IF
    StateCheck(Myself,STATE_INVISIBLE)
    THEN
    RESPONSE #100
    MoveToObjectFollow(LastSummonerOf(Myself))
    END

    -> La créature se met invisible comme son invocateur, puis le suit tout le temps de son invisibilité. MovetoObjectFollow permet de garder une distance entre la créature et l'objet suivit contrairement à MoveToObject qui fait que la créature percute l'objet.




    IF
    ActionListEmpty()
    See(LastSummonerOf(Myself))
    THEN
    RESPONSE #100
    MoveToObjectFollow(LastSummonerOf(Myself))
    END


    -> ensuite j'ai mis ce script pour que la créature continue à suivre l'invocateur même si celui-ci n'est pas invisible.


    Citation Envoyé par Freddy_Gwendo Voir le message
    J'ai un doute sur l'utilisation de la condition

    Code:
    IF
        See(LastSummonerOf(Myself))
        StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
    THEN
    La logique voudrait qu'elle ne soit jamais remplie : on ne voit pas l'invisible !

    Mais je peux me tromper, les lois de l'IE étant ce qu'elles sont...
    Je suis d'accord sur ce point, c'est pour ça que ma créature à la capacité de voir ce qui est invisible (comme les dragons, vu que c'est plus ou moins un dragon ).

    Un grand merci pour votre précieuse aide!
    Dernière modification par Faust ; 19/07/2017 à 15h04.
    "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. [SCRIPT] Combat et créature dans la zone d'ombre
    Par Cocrane dans le forum Scripts
    Réponses: 1
    Dernier message: 19/09/2017, 13h20
  2. Réponses: 2
    Dernier message: 04/07/2017, 22h36
  3. Réponses: 19
    Dernier message: 20/05/2017, 19h47
  4. Réponses: 0
    Dernier message: 08/06/2015, 22h09
  5. Réponses: 2
    Dernier message: 26/07/2005, 20h17

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