Actions suite à la détection d'effet magique
Re: Détection d'effet magique et conséquences.
je pense pas que ca marche avec plusieurs cibles qui ont differentes vulnaribilité. si?
Re: Détection d'effet magique et conséquences.
Chaque PNJ ne cible qu'un seul ennemi à la fois. L'AI est ainsi faite. Donc il ne peut y avoir de problèmes liés à de multiples cibles.
Si ton PNJ change d'ennemi, l'event doit normalement se relancer (vu que l'ennemi est une valeur que retourne l'event) et donc donner le sort correspondant à l'ennemi visé. Donc s'adapter en continu à l'ennemi visé par le PNJ. Donc, en théorie, ça doit marcher. Après, il y a toujours une différence entre ce qui devrait être et ce qui est...
Si ton PNJ change d'ennemi, l'event doit normalement se relancer (vu que l'ennemi est une valeur que retourne l'event) et donc donner le sort correspondant à l'ennemi visé. Donc s'adapter en continu à l'ennemi visé par le PNJ. Donc, en théorie, ça doit marcher. Après, il y a toujours une différence entre ce qui devrait être et ce qui est...
Re: Détection d'effet magique et conséquences.
Ce qui devrais ressembler à ça sans le haslos:
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
if (aeCombatState == 0)
self.DispelAllSpells()
elseif (aeCombatState == 1)
self.addSpell(DefaultSpell, false)
if akTarget.HasmagicEffect(FireWeakness)
self.DispelAllSpells()
self.addSpell(Fireball, false)
elseif akTarget.HasmagicEffect(FrostWeakness)
self.DispelAllSpells()
self.addSpell(FrostAttack, false)
elseif akTarget.HasmagicEffect(ShockWeakness)
self.DispelAllSpells()
self.addSpell(ShockAttack, false)
ENDIF
ENDIF
ENDEVENT
il me faut rajouter une ligne pour le sort par default, juste comment on fait pour dire qu'il n'a pas l'effet?
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
if (aeCombatState == 0)
self.DispelAllSpells()
elseif (aeCombatState == 1)
self.addSpell(DefaultSpell, false)
if akTarget.HasmagicEffect(FireWeakness)
self.DispelAllSpells()
self.addSpell(Fireball, false)
elseif akTarget.HasmagicEffect(FrostWeakness)
self.DispelAllSpells()
self.addSpell(FrostAttack, false)
elseif akTarget.HasmagicEffect(ShockWeakness)
self.DispelAllSpells()
self.addSpell(ShockAttack, false)
ENDIF
ENDIF
ENDEVENT
il me faut rajouter une ligne pour le sort par default, juste comment on fait pour dire qu'il n'a pas l'effet?
Re: Détection d'effet magique et conséquences.
Plutôt :
Code : Tout sélectionner
spell property sortpardefaut auto
...autres propriétés...
Spell Property monsort Auto
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
if aeCombatState > 0
Self.RemoveSpell(monsort)
if akTarget.HasmagicEffect(FireWeakness)
monsort = Fireball
elseif akTarget.HasmagicEffect(FrostWeakness)
monsort = FrostAttack
elseif akTarget.HasmagicEffect(ShockWeakness)
monsort = ShockAttack
Else
monsort = sortpardefaut
EndIf
self.addSpell(monsort)
EndIf
endevent
Re: [resolu]Détection d'effet magique et conséquences.
Y a un soucis tout d'un coup il ne veux plus utiliser les sorts, a pars celui par default et du coup va ramasser une arme au pif
Re: [resolu]Détection d'effet magique et conséquences.
C'est inquiétant... Il peut y avoir plusieurs explications...
Mets une notification après l'event oncombatstatechanged() pour voir si l'event se lance bien. S'il se lance, cela veut dire qu'il y a de l'espoir.
As-tu par hasard placé ton script de heal sur le même mage qui doit détecter la vulnérabilité de ses ennemis avec l'autre script?
Si tu as mis un sort de soin en sort par défaut du script quelques posts plus haut, il ne peut attaquer ses ennemis avec ses sorts car, du coup, il n'a plus de sort offensif. Il est donc obligé d'aller chercher une arme. Ceci pourrait expliquer son comportement.
Si ce n'est pas ça, à mon tour de te poser quelques questions : Il a assez de points de magie? Le combat style est toujours sur un type mage (les gars qui se balladent en robe par -15°C...)?
Mets une notification après l'event oncombatstatechanged() pour voir si l'event se lance bien. S'il se lance, cela veut dire qu'il y a de l'espoir.
As-tu par hasard placé ton script de heal sur le même mage qui doit détecter la vulnérabilité de ses ennemis avec l'autre script?
Si tu as mis un sort de soin en sort par défaut du script quelques posts plus haut, il ne peut attaquer ses ennemis avec ses sorts car, du coup, il n'a plus de sort offensif. Il est donc obligé d'aller chercher une arme. Ceci pourrait expliquer son comportement.
Si ce n'est pas ça, à mon tour de te poser quelques questions : Il a assez de points de magie? Le combat style est toujours sur un type mage (les gars qui se balladent en robe par -15°C...)?
Re: [resolu]Détection d'effet magique et conséquences.
les non ce sont deux scripts differents, oui et oui pour les deux dernieres questions, je peux t'envoyer une demo si tu veux
Re: [resolu]Détection d'effet magique et conséquences.
Envoie moi le truc, ce sera effectivement plus facile pour regarder et ensuite poster la réponse. Ça m'intrigue un peu car j'avais envie de jouer un peu sur le comportement de certains PNJ en passant par des scripts et en laissant l'IA agir en fonction de ce que le script provoque...
Je ne te garantis pas un coup d'oeil ce soir mais rapidement quand même. J'ai un script à retrouver pour un autre moddeur d'abord (et mon répertoire source est devenu un peu bordélique à force de tester plein de choses...)
Je ne te garantis pas un coup d'oeil ce soir mais rapidement quand même. J'ai un script à retrouver pour un autre moddeur d'abord (et mon répertoire source est devenu un peu bordélique à force de tester plein de choses...)
Re: [resolu]Détection d'effet magique et conséquences.
bon j'avais cru que c'etais de ma faute mais non, comme naru me l'a fait remarquer, il semble que le script ne marche pas tres je l'ai vu utiliser de nombreuse fois le sort par default donc ça marche pourtant avec certains pnj comme l'atronach de glace ancien, il ne l'attaque pas, ç a m'est arriver avec un autre pnj lambda un bandit aussi.