[SCRIPT] - Créature utilise furtivité comme son maître
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
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.
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.
[h=6]"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."[/h]Wherever I May Roam.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
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.
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...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Pélagie
- Adepte de Grondemarteau
- Ogre
- Messages : 209
- Enregistré le : dim. 18 juil. 2004, 15:55
- Localisation : In my wonderland
- Contact :
- Statut : Hors ligne
.
Oui, comme le souligne Freddy, je pense que le problème vient du fait que le MoveObject annule le state (Hide).Faust a écrit :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.
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.
Demi-elfe aquatique
Groupie de Bioware
Groupie de Bioware
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
J'ai un doute sur l'utilisation de la condition
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...
Code : Tout sélectionner
IF
See(LastSummonerOf(Myself))
StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE)
THEN
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...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
.
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?Freddy_Gwendo a écrit :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.
Super en adaptant ton script j'ai réussi à tout garder:Pélagie a écrit :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.
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.
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 ).Freddy_Gwendo a écrit :J'ai un doute sur l'utilisation de la condition
La logique voudrait qu'elle ne soit jamais remplie : on ne voit pas l'invisible !Code : Tout sélectionner
IF See(LastSummonerOf(Myself)) StateCheck(LastSummonerOf(Myself),STATE_INVISIBLE) THEN
Mais je peux me tromper, les lois de l'IE étant ce qu'elles sont...
Un grand merci pour votre précieuse aide!
[h=6]"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."[/h]Wherever I May Roam.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité