Page 1 sur 1

Simuler des effets d'adrénaline au commencement d'un combat

Posté : 03 août 2013, 11:11
par Nayos
Bonjour.

J'aurais une question qui me trotte dans la tete. J'aimerais créer un Magic effect simulant une poussée d'adrénaline lors d'une rentrée en combat.

En gros, lorsque des ennemis apparaissent sur la map, bien décidé a me trouer la peau, j'aimerais que ce magic effect s'enclenche, permettant une brusque remontée de l'endurance à 30% de la vigueur du PJ.

Seulement, je n'arrive pas a me décider pour l'event :

OnEffectStart ou OnCombatStateChanged ? :pensif:

Quelqu'un pourrais t'il éclairer ma lanterne ? :embaras:

Merci d'avance

Re: Quel event choisir ?

Posté : 04 août 2013, 12:12
par daan
Bonjour,

Personnellement j’opterais plutôt pour un « OnCombatStateChanged »
Mais par contre je passerait par une quête et non un magic effect :

1)je créerai une quête qui se lance automatiquement(start game enabled) ;
2)je créerai un alias pointant sur le player ;
3)je mettrai un script sur cet alias testant les changements de statut du combat.
4)Je créerai deux stages dans cette quête :
•Le premier stage serait appelé par le script de l’alias quand le player entre en combat et
ajouterait (via script dans le fragment)les bonus dont tu parlais (remontée de l'endurance + vigueur)
•Le second serait appelé par le script de l’alias quand le player sort de combat et enlèverait les bonus


Voila une ébauche du script que je placerais sur l’alias_Player :

Code : Tout sélectionner

Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
  if (akTarget == Game.GetPlayer())
    if (aeCombatState == 0)
      LaQuete.SetStage(10)   ;stage 10 appelé quand le player n’est pas en combat
    elseif (aeCombatState == 1)
	LaQuete.SetStage(20)   ;stage 20 appelé quand le player entre en combat
    endIf
  endIf
endEvent
Voila une ébauche du script que je placerais dans le fragment de stage 10 20:

Code : Tout sélectionner

Alias_Player.GetActorReference.AddSpell(Sort_ajoutant_endurance, false)
Alias_Player.GetActorReference.AddSpell(Sort_ajoutant_vigueur, false)
Voila une ébauche du script que je placerais dans le fragment de stage 10 :

Code : Tout sélectionner

Alias_Player.GetActorReference.RemoveSpell(Sort_ajoutant_endurance, false)
Alias_Player.GetActorReference.RemoveSpell(Sort_ajoutant_vigueur, false)

Pour tous ces scripts tu prendras soin de remplir les références.

J’espère que cela t’aidera,
Daan.

PS : j’ai fais tous ça de tête et je suis loin d’être un expert il se peux donc qu’il y est des erreurs. Donc n’hésite pas a revérifier tous ça et a le faire a ta sauce.

EDIT:j'ai corrigé une petite erreur plus haut , c'est stage 20 et pas 10.

Re: Quel event choisir ?

Posté : 05 août 2013, 09:03
par Nayos
Intéressant. Je suis complètement novice dans la création de quests, donc ça me fera un bon entraînement :D

Merci Daan.

Re: [demande]Quel event choisir ?

Posté : 05 août 2013, 20:04
par daan
Salut,

Y a pas de quoi ,
pour bien débuter je suppose que tu a déjà lus ça mais dans le doute ...
https://www.creationkit.com/index.php?t ... e_Quest/fr

en cas de besoin n’hésite pas a poser tes questions ,